Array(API)

提供: Eospedia
2014年5月16日 (金) 01:13時点におけるKinoshita (トーク | 投稿記録)による版

移動: 案内検索

General/Arrayは、配列を表現するためのオブジェクトです。一般的な配列(多次元配列)を表現できます。

定数

ARRAY_MAX_DIMENSION: 5 (最大の配列の次元数)
ARRAY_MIN_DIMENSION: 1 (最小の配列の次元数)
ARRAY_SEPARATOR " \t\n," (配列の区切り文字)

構造体

 typedef unsigned long arrayParaTypeInteger;
 typedef float         arrayParaTypeReal;
 
 typedef struct Array {
     arrayParaTypeInteger dim;
     arrayParaTypeInteger n[ARRAY_MAX_DIMENSION];
     arrayParaTypeReal*   A;
 } Array;


dim: 配列の次元(2次元が行列、1次元がベクトルを表現できます。)
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)