36 #ifndef __LIBHARKIO3__ 37 #define __LIBHARKIO3__ 49 #define HARK_EPS 0.00001 54 #define HARKIO_VER "1.3" 59 #define HARKIO_TAG "HARK1.3" 102 enum harkio_DataType { harkio_DataType_INT32 , harkio_DataType_FLOAT32 , harkio_DataType_COMPLEX };
103 enum UseTagType { NON_TAG , USE_TAG , ID_TAG };
113 typedef float _Complex COMPLEX_TYPE;
125 COMPLEX_TYPE(*cmap)(COMPLEX_TYPE);
128 typedef int (*harkio_Matrix_calcfuncInt32)(int, int);
129 typedef float(*harkio_Matrix_calcfuncFloat32)(float, float);
130 typedef COMPLEX_TYPE(*harkio_Matrix_calcfuncComplex)(COMPLEX_TYPE, COMPLEX_TYPE);
135 #define HARK_DIM 2 //dimention 141 #define HARKIO_LOGLEVEL_ENV_NAME "HARKIO_LOG_LEVEL" 146 #define harkio_Log_setLevel(PrintLevel) harkio_Log_printf_( (enum harkio_Log_logLevel)-1, "", PrintLevel, __func__, __LINE__) 151 #define harkio_Log_printf(LogLevel, message, ...) harkio_Log_printf_(LogLevel, message, 0, __func__, __LINE__, ##__VA_ARGS__) 164 #define DEPRECATED(X) __declspec(deprecated(X)) 166 #define DEPRECATED(X) __attribute__((deprecated)) 286 #if defined(__cplusplus) 382 int harkio_Config_setSynchronousAverage(
harkio_Config *cfg,
int value);
383 int harkio_Config_setTSPpath(
harkio_Config *cfg,
const char *value);
384 int harkio_Config_setTSPoffset(
harkio_Config *cfg,
int value);
385 int harkio_Config_setPeakSearchFrom(
harkio_Config *cfg,
int value);
386 int harkio_Config_setPeakSearchTo(
harkio_Config *cfg,
int value);
388 int harkio_Config_setComment(
harkio_Config *cfg,
const char *value);
389 int harkio_Config_setSamplingRate(
harkio_Config *cfg,
int value);
390 int harkio_Config_setTSPlength(
harkio_Config *cfg,
int value);
391 int harkio_Config_setSignalMax(
harkio_Config *cfg,
int value);
513 void harkio_Log_printf_(
enum harkio_Log_logLevel LogLevel,
char *message ,
int PrintLevel,
const char *func,
int line, ...);
514 void harkio_Log_FileOpenFailed(
char *filename);
515 void harkio_Log_WrongValue(
char *valuename,
char *reason);
516 void harkio_Log_NullPointer(
char *valuename);
520 #if defined(__cplusplus) harkio_DataType
harkio_Matrix の型を表す
Definition: libharkio3.h:102
harkio_Matrix * harkio_Matrix_fromFile(char *path)
harkio_Matrix_write で書き込んだファイルを読み込む。
Definition: libharkio3_matrix.c:367
harkio_Position * harkio_Position_copy(harkio_Position *p)
harkio_Position をコピーする
Definition: libharkio3_position.c:561
int harkio_Positions_isEqual(harkio_Positions *a, harkio_Positions *b)
2つの harkio_Positions が等しいか否かを判定する
Definition: libharkio3_positions.c:734
harkio_Neighbors * harkio_Neighbors_copy(harkio_Neighbors *poses)
harkio_Neighbors の内容を コピーする
Definition: libharkio3_neighbors.c:656
Definition: libharkio3.h:85
int harkio_Neighbors_append(harkio_Neighbors *nbrs, int id, int numNeighbors, int *neighbors)
新しい隣接関係を追加する。与えられた ID に隣接関係がすでに定義されていれば追加し、定義が無ければ新し�...
Definition: libharkio3_neighbors.c:310
harkio_Position ** pos
Definition: libharkio3.h:211
int harkio_Matrix_setValueFloat32(harkio_Matrix *m, int row, int col, float value)
float32 型の harkio_Matrix の値を設定する
Definition: libharkio3_matrix.c:1285
harkio_Log_logLevel
harkio_Log で、メッセージのログがどのレベルかを表す。
Definition: libharkio3.h:81
char * harkio_Positions_getType(harkio_Positions *poses)
Getter。harkio_Positions のタイプを返す。
Definition: libharkio3_positions.c:396
harkio_Positions * poses
Definition: libharkio3.h:274
int harkio_Position_getSys(harkio_Position *pos)
Getter。harkio_Position の 座標系を返す。
Definition: libharkio3_position.c:177
int harkio_Matrix_isEqual(harkio_Matrix *a, harkio_Matrix *b)
2つの harkio_Matrix オブジェクトが等しいかどうかを判定する
Definition: libharkio3_matrix.c:1702
InternalAllocFlag
保持メモリの割当て状態を管理するフラグ(内部用)
Definition: libharkio3.h:108
harkio_Matrix * harkio_Matrix_zeros(char *type, int rows, int cols)
要素が全てゼロの行列を生成するコンストラクタ
Definition: libharkio3_matrix.c:124
int * numNeighbors
Definition: libharkio3.h:254
int harkio_TransferFunction_write_toDirectory(harkio_TransferFunction *tf, char *path, char *signature)
harkio_TransferFunction 構造体の情報をファイルに書き込む
Definition: libharkio3_transferfunction.c:1155
harkio_Positions の隣接関係を表す構造体。自分を含む。s
Definition: libharkio3.h:251
harkio_Matrix * harkio_Matrix_getDiag(harkio_Matrix *m)
対角成分を取り出す
Definition: libharkio3_matrix.c:2255
int harkio_Matrix_getValueInt32(harkio_Matrix *m, int row, int col, int *value)
int32 型の harkio_Matrix の値を取り出す
Definition: libharkio3_matrix.c:1174
int internal_locsize
Definition: libharkio3.h:280
int harkio_Matrix_replaceC(harkio_Matrix *m, char *path, int rowidx)
harkio_Matrix_write で書き込んだファイルを読み込み、行を書き換える
Definition: libharkio3_matrix.c:2001
int harkio_Matrix_setValueComplex(harkio_Matrix *m, int row, int col, COMPLEX_TYPE value)
complex 型の harkio_Matrix の値を設定する
Definition: libharkio3_matrix.c:1323
float * harkio_Position_getPosition(harkio_Position *pos)
Getter。harkio_Position の座標を返す。
Definition: libharkio3_position.c:139
harkio_Matrix * harkio_Matrix_reshape(harkio_Matrix *m, int rows, int cols)
行列の並び順を変更する
Definition: libharkio3_matrix.c:2865
int harkio_XML_write(harkio_XML *xml, FILE *outstream)
harkio_XML をファイルに保存する。
Definition: libharkio3_xml.c:249
int harkio_Position_setPosition(harkio_Position *pos, enum Coordinate sys, float *coord)
Setter。harkio_Position の 座標を更新する。
Definition: libharkio3_position.c:198
harkio_Positions * harkio_TransferFunction_getMicrophones(harkio_TransferFunction *tf)
Getter。harkio_TransferFunction の マイク位置を表す harkio_Positions を返す
Definition: libharkio3_transferfunction.c:681
int harkio_CheckType(char *type)
[内部用] harkio_Matrix の型判定
Definition: libharkio3_matrix.c:2161
harkio_XML * harkio_XML_newFromXMLbuffer(char *buffer, int strlen, char *dtdpath)
コンストラクタ。XMLが格納された文字列へのポインタから、harkio_XML オブジェクトを生成する ...
Definition: libharkio3_xml.c:139
int libharkio3_TransferFunction_readlibhakio2(harkio_TransferFunction **arg_tf, char *loctfpath, char *septfpath)
harkio2フォーマットの伝達関数ファイルを読み込み、構造体を構成する。(deprecated)
Definition: libharkio3_conversion.c:189
Definition: libharkio3.h:82
位置を表す構造体。
Definition: libharkio3.h:193
Definition: libharkio3.h:86
harkio_Matrix * harkio_Matrix_ones(char *type, int rows, int cols)
要素が全て1の行列を生成するコンストラクタ
Definition: libharkio3_matrix.c:185
int harkio_TransferFunction_appendLocTF(harkio_TransferFunction *tf, harkio_Matrix *tfs)
harkio_TransferFunction の定位伝達関数を表す harkio_Matrix 配列に要素を追加する。 ...
Definition: libharkio3_transferfunction.c:923
int samplingRate
Definition: libharkio3.h:227
harkio_Config * cfg
Definition: libharkio3.h:266
int synchronousAverage
Definition: libharkio3.h:220
int rows
Definition: libharkio3.h:185
Definition: libharkio3.h:84
伝達関数ファイルの XML (位置、隣接関係、設定) の読み書きのための構造体
Definition: libharkio3.h:263
harkio_Position * harkio_Positions_getByCoord(harkio_Positions *poses, enum Coordinate sys, float *coord, float tolerance)
Getter。harkio_Positions が持つ harkio_Position のから、与えられた位置に近いものを返す。 ...
Definition: libharkio3_positions.c:342
harkio_Neighbors * nbrs
Definition: libharkio3.h:277
int harkio_Config_getSynchronousAverage(harkio_Config *cfg)
Getter。harkio_Config の同期加算回数を返す
Definition: libharkio3_config.c:89
int harkio_Positions_removeById(harkio_Positions *poses, int id)
harkio_Positions から、与えられた ID の harkio_Position を削除する
Definition: libharkio3_positions.c:536
int channelsUse
Definition: libharkio3.h:199
harkio_TransferFunction * harkio_TransferFunction_new(void)
コンストラクタ。空の伝達関数構造体 harkio_TransferFunctionを作成する。
Definition: libharkio3_transferfunction.c:49
char * comment
Definition: libharkio3.h:219
enum NeighborAlgorithm harkio_Neighbors_getNeighborAlgorithm(harkio_Neighbors *nbs)
Getter. harkio_Neighbors の近接関係計算アルゴリズムを返す。
Definition: libharkio3_neighbors.c:236
harkio_Position * harkio_Positions_getById(harkio_Positions *poses, int id)
Getter。harkio_Positions が持つ harkio_Position のから、与えられた id と同じものを返す。 ...
Definition: libharkio3_positions.c:309
harkio_Positions * mics
Definition: libharkio3.h:275
char * harkio_Config_getComment(harkio_Config *cfg)
Getter。harkio_Config のコメントを返す
Definition: libharkio3_config.c:75
harkio_Neighbors * nbrs
Definition: libharkio3.h:265
int peakSearchFrom
Definition: libharkio3.h:224
int harkio_Neighbors_Algorithms_NearestNeighbor(harkio_Neighbors *nbrs, int n, float thresh)
近接関係計算アルゴリズムの実装。近傍をクラスタリングする方法。
Definition: libharkio3_neighbors.c:422
NeighborAlgorithm
harkio_Neighbors で、Position (伝達関数測定位置など) が隣接しているか否かを判定するアルゴリズムを表す...
Definition: libharkio3.h:73
harkio_Matrix * harkio_TransferFunction_getTFById(harkio_TransferFunction *tf, int id, enum harkio_TFType tf_type)
harkio_TransferFunction 構造体に含まれる伝達関数群から特定の伝達関数を取り出す
Definition: libharkio3_transferfunction.c:1352
int harkio_Neighbors_calcNeighbors(harkio_Neighbors *nbrs, enum NeighborAlgorithm alg,...)
harkio_Neighbors に登録されている位置の近接関係を計算する。
Definition: libharkio3_neighbors.c:264
struct zip * handle
Definition: libharkio3.h:273
int peakSearchTo
Definition: libharkio3.h:225
harkio_Neighbors * harkio_Neighbors_new(harkio_Positions *poses)
コンストラクタ。近接関係を表すオブジェクトを生成する。
Definition: libharkio3_neighbors.c:41
void harkio_Neighbors_print(harkio_Neighbors *nbrs)
harkio_Neighbors の内容を stderr に表示する。
Definition: libharkio3_neighbors.c:563
harkio_TransferFunction * harkio_Compat_TransferFunction_readlibharkio2(char *loctfpath, char *septfpath)
コンストラクタ。harkio2フォーマットの伝達関数ファイルを読み込み、構造体を構成する。 ...
Definition: libharkio3_conversion.c:157
harkio_Matrix * harkio_Matrix_sum(harkio_Matrix **matrix, int num)
複数 harkio_Matrix の要素ごとの総和を求める
Definition: libharkio3_matrix.c:1086
COMPLEX_TYPE * complexdata
Definition: libharkio3.h:175
int TSPLength
Definition: libharkio3.h:223
harkio_Matrix ** loctfs
Definition: libharkio3.h:278
harkio_Matrix * harkio_Matrix_getValues(harkio_Matrix *matrix, int rowFrom, int rowTo, int colFrom, int colTo)
harkio_Matrix の部分行列を取り出す
Definition: libharkio3_matrix.c:1400
int frame
Definition: libharkio3.h:209
harkio_TransferFunction * harkio_TransferFunction_fromDirectory(char *path, char *signature)
コンストラクタ。与えられたディレクトリに存在するファイルをロードし、構造体を構成する。 ...
Definition: libharkio3_transferfunction.c:354
void harkio_Positions_print(harkio_Positions *pos)
harkio_Positions をテキストで表示する
Definition: libharkio3_positions.c:667
harkio_Config * harkio_Config_new(void)
コンストラクタ。空の harkio_Config を作成する。
Definition: libharkio3_config.c:34
harkio_Matrix * harkio_TransferFunction_getTFByPos(harkio_TransferFunction *tf, harkio_Position *pos, float tolerance, enum harkio_TFType tf_type)
harkio_TransferFunction 構造体に含まれる伝達関数群から特定の伝達関数を取り出す
Definition: libharkio3_transferfunction.c:1298
harkio_XML * harkio_XML_new(void)
コンストラクタ。新たな harkio_XML オブジェクトを生成する。
Definition: libharkio3_xml.c:57
伝達関数そのものを表す構造体
Definition: libharkio3.h:272
int harkio_TransferFunction_setLocTFs(harkio_TransferFunction *tf, harkio_Matrix **tfs)
Setter。harkio_TransferFunction の音源位置ごとの定位伝達関数を表す harkio_Matrix 配列へのポインタを設...
Definition: libharkio3_transferfunction.c:853
harkio_Positions * harkio_Positions_copy(harkio_Positions *pos)
harkio_Positions をコピーする
Definition: libharkio3_positions.c:633
int TSPoffset
Definition: libharkio3.h:222
harkio_Matrix * harkio_Matrix_eye(char *type, int size)
単位行列生成するコンストラクタ
Definition: libharkio3_matrix.c:310
harkio_Positions * poses
Definition: libharkio3.h:264
harkio_XML * harkio_XML_newFromData(harkio_Positions *ps, harkio_Neighbors *nbrs, harkio_Config *cfg)
コンストラクタ。harkio_XML のメンバへのポインタを受け取って、新たな harkio_XML オブジェクトを生成する...
Definition: libharkio3_xml.c:120
int harkio_Positions_removeByCoord(harkio_Positions *poses, enum Coordinate sys, float *coord, float tolerance)
harkio_Positions から、与えられた座標の harkio_Position を削除する
Definition: libharkio3_positions.c:596
harkio_Neighbors * harkio_TransferFunction_getNeighbors(harkio_TransferFunction *tf)
Getter。harkio_TransferFunction の harkio_Neighbor を返す
Definition: libharkio3_transferfunction.c:659
harkio_TransferFunction * harkio_Compat_SeparationMatrix_readlibharkio2(char *sepmatpath, char *tfzippath)
コンストラクタ。harkio2フォーマットの分離行列ファイルを読み込み、構造体を構成する。 ...
Definition: libharkio3_conversion.c:172
位置の集合を表す構造体。
Definition: libharkio3.h:207
harkio_Matrix内部用。
Definition: libharkio3.h:172
harkio_Matrix ** septfs
Definition: libharkio3.h:279
int harkio_Positions_getFrame(harkio_Positions *poses)
Getter。harkio_Positions のフレーム番号を返す。
Definition: libharkio3_positions.c:440
harkio_XML * harkio_XML_newFromXML(char *xmlpath, char *dtdpath)
コンストラクタ。ファイルを読み込んで、新たな harkio_XML オブジェクトを生成する。
Definition: libharkio3_xml.c:75
Definition: libharkio3.h:67
伝達関数などの、行列を表す構造体。
Definition: libharkio3.h:181
harkio_Matrix * harkio_Matrix_copy(harkio_Matrix *m)
harkio_Matrix をコピーする。
Definition: libharkio3_matrix.c:633
harkio_Matrix * harkio_Matrix_makeDiag(harkio_Matrix *m)
列ベクトルを対角成分にもつ正方行列を返す
Definition: libharkio3_matrix.c:2300
harkio_Positions * harkio_Positions_new(char *type, int frame, int size, harkio_Position **pos)
コンストラクタ。空の位置セットのオブジェクト harkio_Positions を作成する。
Definition: libharkio3_positions.c:51
size_t harkio_Matrix_size(harkio_Matrix *m, int *size)
harkio_Matrix のサイズを取得する
Definition: libharkio3_matrix.c:1803
Definition: libharkio3.h:75
float harkio_Position_convToDegree(float radian)
内部用関数。 ラジアン(radian)から角度(degree)に変換
Definition: libharkio3_position.c:652
char * TSPpath
Definition: libharkio3.h:221
int harkio_Position_getID(harkio_Position *pos)
Getter。harkio_Position の ID を返す。
Definition: libharkio3_position.c:158
int id
Definition: libharkio3.h:194
float * coord
Definition: libharkio3.h:196
Coordinate
harkio_Positions で座標軸を表す。
Definition: libharkio3.h:65
int harkio_Neighbors_getSize(harkio_Neighbors *nbs)
Getter. harkio_Neighbors に登録されている harkio_Positions の長さ
Definition: libharkio3_neighbors.c:215
void harkio_Matrix_print(harkio_Matrix *m)
harkio_Matrix を表示する
Definition: libharkio3_matrix.c:1586
void harkio_Matrix_delete(harkio_Matrix **m)
デストラクタ。
Definition: libharkio3_matrix.c:584
int nfft
Definition: libharkio3.h:226
int harkio_TransferFunction_setMicrophones(harkio_TransferFunction *tf, harkio_Positions *value)
Setter。harkio_TransferFunction のマイク位置に対応する harkio_Positions を設定する ...
Definition: libharkio3_transferfunction.c:789
int harkio_XML_writeHead(FILE *outstream)
harkio_Positions をXMLファイルに保存する。
Definition: libharkio3_xml.c:286
int ** neighbors
Definition: libharkio3.h:255
Definition: libharkio3.h:74
void harkio_XML_delete(harkio_XML **xml)
デストラクタ。harkio_XML のメモリを解放する。
Definition: libharkio3_xml.c:184
int internal_sepsize
Definition: libharkio3.h:281
harkio_Matrix * harkio_Matrix_ecalcCInt32(harkio_Matrix *m, int value, harkio_Matrix_calcfuncInt32 func)
行列の各要素を関数で写像する
Definition: libharkio3_matrix.c:2735
harkio_TFType
伝達関数が定位用か分離用かを表す。(内部用)
Definition: libharkio3.h:92
int harkio_TransferFunction_setPositions(harkio_TransferFunction *tf, harkio_Positions *value)
Setter。harkio_TransferFunction の音源位置に対応する harkio_Positions を設定する
Definition: libharkio3_transferfunction.c:821
int signalMax
Definition: libharkio3.h:228
harkio_Matrix * harkio_Matrix_ctranspose(harkio_Matrix *m)
行列を複素共役転置する
Definition: libharkio3_matrix.c:2983
harkio_Matrix * harkio_Matrix_ediv(harkio_Matrix *a, harkio_Matrix *b)
2 つの harkio_Matrix の要素ごとの商を求める。
Definition: libharkio3_matrix.c:2181
float * floatdata
Definition: libharkio3.h:174
harkio_Matrix * harkio_Matrix_transpose(harkio_Matrix *m)
行列のを転置する
Definition: libharkio3_matrix.c:2929
int harkio_Positions_getSize(harkio_Positions *poses)
Getter。harkio_Positions の harkio_Position の数を返す。
Definition: libharkio3_positions.c:418
char * harkio_Matrix_getTag(harkio_Matrix *xml)
harkio_Matrix のタグを取得する
Definition: libharkio3_matrix.c:1561
伝達関数の計測条件などの一般的な情報を表す構造体
Definition: libharkio3.h:218
char * harkio_Positions_printBuffer(harkio_Positions *pos)
harkio_Positions の文字列表現を格納したバッファを返す。
Definition: libharkio3_positions.c:701
#define DEPRECATED(X)
deprecated関数定義用.ソース内で関数を使用している場合に,コンパイル時警告を出す属性を設定.
Definition: libharkio3.h:166
harkio_Matrix_map で要素ごとの処理を行うための関数ポインタ群。
Definition: libharkio3.h:122
float harkio_Position_convToRadian(float degree)
内部用関数。 角度(degree)からラジアン(radian)に変換
Definition: libharkio3_position.c:643
int harkio_Position_setNumChannels(harkio_Position *pos, int numChannels)
Setter。harkio_Position の チャンネル数を更新する。
Definition: libharkio3_position.c:271
float euclidDistance(harkio_Position *pos_a, harkio_Position *pos_b, int length)
内部用関数。二つの harkio_Position の距離を求める
Definition: libharkio3_neighbors.c:510
harkio_Matrix * harkio_Matrix_vstack(harkio_Matrix *src, harkio_Matrix *stack)
srcにstackの内容を縦方向(rows方向)にスタックする。この際、srcの容量はstack分拡張される。 ...
Definition: libharkio3_matrix.c:245
int harkio_Neighbors_isEqual(harkio_Neighbors *a, harkio_Neighbors *b)
harkio_Neighbors が等しいかどうかを比較する。
Definition: libharkio3_neighbors.c:593
int harkio_Positions_append(harkio_Positions *poses, harkio_Position *pos)
harkio_Positions に新たな harkio_Position を追加する。
Definition: libharkio3_positions.c:470
void harkio_Config_delete(harkio_Config **cfg)
デストラクタ。メンバになっている構造体を含めて全てのメモリを開放する。
Definition: libharkio3_config.c:47
char * harkio_Matrix_printBuffer(harkio_Matrix *m)
harkio_Matrix の文字列表現を格納したバッファを返す。
Definition: libharkio3_matrix.c:1626
harkio_Matrix * harkio_Matrix_epowerCFloat32(harkio_Matrix *m, float value)
行列を定数でべき乗する
Definition: libharkio3_matrix.c:2664
harkio_Matrix * harkio_Matrix_ecalcCFloat32(harkio_Matrix *m, float value, harkio_Matrix_calcfuncFloat32 func)
行列の各要素を関数で写像する
Definition: libharkio3_matrix.c:2778
harkio_TransferFunction * harkio_TransferFunction_fromData(harkio_Positions *poses, harkio_Positions *mics, harkio_Config *cfg, harkio_Neighbors *nbrs)
コンストラクタ。与えられた 音源位置群、マイク位置群、コンフィグ、隣接音源位置から構造体を生成する。 ...
Definition: libharkio3_transferfunction.c:79
int harkio_TransferFunction_appendSepTF(harkio_TransferFunction *tf, harkio_Matrix *tfs)
harkio_TransferFunction の分離伝達関数を表す harkio_Matrix 配列に要素を追加する。 ...
Definition: libharkio3_transferfunction.c:970
harkio_Matrix * data
Definition: libharkio3.h:198
harkio_Config * cfg
Definition: libharkio3.h:276
Definition: libharkio3.h:83
int harkio_Neighbors_getNeighbors(harkio_Neighbors *nbrs, int id, int *numNeighbors, int **neighbors)
getter。与えられた id の近接 id を返す。[]
Definition: libharkio3_neighbors.c:166
int harkio_TransferFunction_setNeighbors(harkio_TransferFunction *tf, harkio_Neighbors *value)
Setter。harkio_TransferFunction の harkio_Neighbors を設定する
Definition: libharkio3_transferfunction.c:757
char * path
Definition: libharkio3.h:197
harkio_Config * harkio_TransferFunction_getConfig(harkio_TransferFunction *tf)
Getter。harkio_TransferFunction の harkio_Config を返す
Definition: libharkio3_transferfunction.c:637
harkio_Matrix * harkio_Matrix_sub(harkio_Matrix *a, harkio_Matrix *b)
2 つの harkio_Matrix の差を求める。
Definition: libharkio3_matrix.c:811
char * harkio_Config_getTSPpath(harkio_Config *cfg)
Getter。harkio_Config の TSP 信号のパスを返す
Definition: libharkio3_config.c:102
int libharkio3_SeparationMatrix_readlibhakio2(harkio_TransferFunction **arg_tf, char *sepmatpath, char *septfzippath)
harkio2フォーマットの分離行列ファイルを読み込み、構造体を構成する。(deprecated)
Definition: libharkio3_conversion.c:199
Definition: libharkio3.h:66
int harkio_XML_writePositions(harkio_Positions *poses, FILE *outstream)
harkio_Positions をXMLファイルに保存する。
Definition: libharkio3_xml.c:268
harkio_Matrix * harkio_Matrix_epowerCComplex(harkio_Matrix *m, COMPLEX_TYPE value)
行列を定数でべき乗する
Definition: libharkio3_matrix.c:2676
int * channels
Definition: libharkio3.h:201
void harkio_Neighbors_delete(harkio_Neighbors **nbrs)
デストラクタ。harkio_Neighbors のメモリを解放する。
Definition: libharkio3_neighbors.c:116
int harkio_Matrix_getValueFloat32(harkio_Matrix *m, int row, int col, float *value)
float32 型の harkio_Matrix の値を取り出す
Definition: libharkio3_matrix.c:1248
harkio_Positions * harkio_Positions_newFromXMLbuffer(char *buffer, int len, char *dtdpath)
コンストラクタ。XMLが格納された文字列へのポインタから、harkio_Positions オブジェクトを生成する ...
Definition: libharkio3_positions.c:136
harkio_Matrix * harkio_Matrix_fromZip(struct zip *handle, char *path)
[内部用] zip ファイル内のharkio_Matrix_write で書き込んだファイルを読み込む。
Definition: libharkio3_matrix.c:476
harkio_Matrix * harkio_Matrix_emul(harkio_Matrix *a, harkio_Matrix *b)
2 つの harkio_Matrix の要素ごとの積を求める。
Definition: libharkio3_matrix.c:1010
int harkio_TransferFunction_setConfig(harkio_TransferFunction *tf, harkio_Config *value)
Setter。harkio_TransferFunction の harkio_Config を設定する
Definition: libharkio3_transferfunction.c:726
int cols
Definition: libharkio3.h:186
multipleType data
Definition: libharkio3.h:187
harkio_Positions * harkio_TransferFunction_getPositions(harkio_TransferFunction *tf)
Getter。harkio_TransferFunction の 音源位置を表す harkio_Positions を返す
Definition: libharkio3_transferfunction.c:703
harkio_Matrix * harkio_Matrix_mul(harkio_Matrix *a, harkio_Matrix *b)
2 つの harkio_Matrix の積を求める。
Definition: libharkio3_matrix.c:891
harkio_TransferFunction * harkio_TransferFunction_fromFile(char *path, char *signature)
コンストラクタ。与えられたファイルをロードし、構造体を構成する。
Definition: libharkio3_transferfunction.c:119
harkio_Matrix * harkio_Matrix_emap(harkio_Matrix *m, harkio_Matrix_maps *map)
行列の各要素を関数で写像する
Definition: libharkio3_matrix.c:2689
char * type
Definition: libharkio3.h:210
int harkio_Matrix_write(harkio_Matrix *m, char *path)
harkio_Matrix をファイルに書き込む
Definition: libharkio3_matrix.c:1848
harkio_Positions * poses
Definition: libharkio3.h:256
int harkio_TransferFunction_setSepTFs(harkio_TransferFunction *tf, harkio_Matrix **tfs)
Setter。harkio_TransferFunction の音源位置ごとの分離伝達関数を表す harkio_Matrix 配列へのポインタを設...
Definition: libharkio3_transferfunction.c:888
char * harkio_XML_writeBuffer(harkio_XML *xml)
harkio_XML をバッファに保存する。
Definition: libharkio3_xml.c:315
int numChannels
Definition: libharkio3.h:200
int size
Definition: libharkio3.h:252
int harkio_Position_isEqual(harkio_Position *a, harkio_Position *b)
2つの harkio_Position が等しいか否かを判定する
Definition: libharkio3_position.c:405
int harkio_Matrix_setValues(harkio_Matrix *m1, harkio_Matrix *m2, int row, int col)
harkio_Matrix の一部を別の harkio_Matrix で上書きする
Definition: libharkio3_matrix.c:1483
int harkio_Matrix_setValueInt32(harkio_Matrix *m, int row, int col, int value)
int32 型の harkio_Matrix の値を設定する
Definition: libharkio3_matrix.c:1211
harkio_Matrix * harkio_Matrix_ecalcCComplex(harkio_Matrix *m, COMPLEX_TYPE value, harkio_Matrix_calcfuncComplex func)
行列の各要素を関数で写像する
Definition: libharkio3_matrix.c:2821
harkio_Matrix * harkio_Matrix_new(char *type, int rows, int cols)
初期化しないコンストラクタ
Definition: libharkio3_matrix.c:41
int harkio_TransferFunction_write(harkio_TransferFunction *tf, char *path, char *signature)
harkio_TransferFunction 構造体の情報をファイルに書き込む
Definition: libharkio3_transferfunction.c:1023
void harkio_TransferFunction_delete(harkio_TransferFunction **tf)
デストラクタ。メンバになっている構造体を含めて全てのメモリを開放する。
Definition: libharkio3_transferfunction.c:568
void harkio_Position_delete(harkio_Position **pos)
デストラクタ。メンバになっている構造体を含めて全てのメモリを開放する。
Definition: libharkio3_position.c:101
int harkio_XML_writeTail(FILE *outstream)
harkio_Positions をXMLファイルに保存する。
Definition: libharkio3_xml.c:300
int harkio_Position_Convert(harkio_Position *pos, float *coord, enum Coordinate type)
harkio_Positions の座標を指定した座標系で得る。
Definition: libharkio3_position.c:481
int dim
Definition: libharkio3.h:184
void harkio_Positions_delete(harkio_Positions **pos)
デストラクタ。メンバになっている構造体を含めて全てのメモリを開放する。
Definition: libharkio3_positions.c:269
harkio_Position * harkio_Position_new(int id, enum Coordinate sys, float *coord, char *path)
コンストラクタ。空の 与えられた座標の POS を返す。
Definition: libharkio3_position.c:49
int harkio_Position_setChannelsUse(harkio_Position *pos, int channels_use)
Setter。harkio_Position の チャンネル使用の有無を更新する。
Definition: libharkio3_position.c:300
int size
Definition: libharkio3.h:208
char * harkio_Matrix_writeBuffer(harkio_Matrix *m, size_t *size)
harkio_Matrix のファイルフォーマットを書き込んだバッファを返す。
Definition: libharkio3_matrix.c:1891
void harkio_Position_print(harkio_Position *pos)
harkio_Position をテキストで表示する
Definition: libharkio3_position.c:328
harkio_Matrix * harkio_Matrix_add(harkio_Matrix *a, harkio_Matrix *b)
2 つの harkio_Matrix の和を求める。
Definition: libharkio3_matrix.c:652
int harkio_Position_setChannels(harkio_Position *pos, const int *channels, const int numChannels)
Setter。harkio_Position の チャンネルを更新する。
Definition: libharkio3_position.c:228
int harkio_Matrix_getValueComplex(harkio_Matrix *m, int row, int col, COMPLEX_TYPE *value)
complex 型の harkio_Matrix の値を取り出す
Definition: libharkio3_matrix.c:1361
int * ids
Definition: libharkio3.h:253
int * intdata
Definition: libharkio3.h:173