「Array(API)」の版間の差分

提供: Eospedia
移動: 案内検索
(ページの作成:「配列を表現するためのオブジェクトです。 == 構造体 == typedef unsigned long arrayParaTypeInteger; typedef float arrayParaTypeReal; t...」)
 
行1: 行1:
配列を表現するためのオブジェクトです。
+
General/'''Array'''は、配列を表現するためのオブジェクトです。一般的な配列(多次元配列)を表現できます。
  
 
== 構造体 ==
 
== 構造体 ==
行12: 行12:
 
  } Array;
 
  } Array;
  
dim: 配列の次元
+
 
n: 各次元の要素数
+
dim: 配列の次元(2次元が行列、1次元がベクトルを表現できます。)
 +
ARRAY_MAX_DIMENSION: 5 (最大の配列の次元数)
 +
n: 各次元の要素数
 
A: 要素を格納している線形ベクター
 
A: 要素を格納している線形ベクター
  

2013年11月16日 (土) 20:50時点における版

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)