「Array(API)」の版間の差分
提供: Eospedia
(→構造体) |
|||
行3: | 行3: | ||
== 構造体 == | == 構造体 == | ||
− | + | typedef unsigned long arrayParaTypeInteger; | |
− | + | typedef float arrayParaTypeReal; | |
− | + | typedef struct Array { | |
− | + | arrayParaTypeInteger dim; | |
− | + | arrayParaTypeInteger n[ARRAY_MAX_DIMENSION]; | |
− | + | arrayParaTypeReal* A; | |
− | + | } Array; | |
− | dim: 配列の次元(2次元が行列、1次元がベクトルを表現できます。) | + | dim: 配列の次元(2次元が行列、1次元がベクトルを表現できます。) |
− | ARRAY_MAX_DIMENSION: 5 (最大の配列の次元数) | + | ARRAY_MAX_DIMENSION: 5 (最大の配列の次元数) |
n: 各次元の要素数 | n: 各次元の要素数 | ||
− | A: 要素を格納している線形ベクター | + | A: 要素を格納している線形ベクター |
== API == | == API == |
2013年11月17日 (日) 21:34時点における版
General/Arrayは、配列を表現するためのオブジェクトです。一般的な配列(多次元配列)を表現できます。
構造体
typedef unsigned long arrayParaTypeInteger; typedef float arrayParaTypeReal; typedef struct Array { arrayParaTypeInteger dim; arrayParaTypeInteger n[ARRAY_MAX_DIMENSION]; arrayParaTypeReal* A; } Array;
dim: 配列の次元(2次元が行列、1次元がベクトルを表現できます。) ARRAY_MAX_DIMENSION: 5 (最大の配列の次元数) n: 各次元の要素数 A: 要素を格納している線形ベクター
API
extern void arrayInit(Array* a, char* message); extern void arrayFree(Array* a, char* message); extern void arrayFormatInfoPrint(FILE* fpt, int mode);
extern void arrayReadFromFile(FILE* fpt, Array* a, char* message); extern void arrayWriteToFile(FILE* fpt, Array* a, char* message);
extern void arrayPCA(Array* u, Array* C, Array* lambda, Array* X, int mode);
下記の関数を使って、各要素の値を格納、取得できます。#defineにより設定されているため、型の自動変換がないため注意が必要です。
arrayDataGet1(a, i0) arrayDataGet2(a, i0, i1) arrayDataGet3(a, i0, i1, i2) arrayDataGet4(a, i0, i1, i2, i3) arrayDataGet5(a, i0, i1, i2, i3, i4)
arrayDataSet1(a, i0, data) arrayDataSet2(a, i0, i1, data) arrayDataSet3(a, i0, i1, i2, data) arrayDataSet4(a, i0, i1, i2, i3, data) arrayDataSet5(a, i0, i1, i2, i3, i4, data)