spLib
読み取り中…
検索中…
一致する文字列を見つけられません
spLVector クラス

long型を扱うためのベクトル型です. [詳解]

#include <sp/vector.h>

spLVector 連携図
Collaboration graph

公開メンバ関数

ベクトル型用テキスト入出力 (<sp/fileio.h>)
spBool lvreadlvector_txt (const char *filename, spLVector vector)
 
spLVector xlvreadlvector_txt (const char *filename)
 
spBool lvreadcol_txt (const char *filename, int col, spLVector vector)
 
spLVector xlvreadcol_txt (const char *filename, int col)
 
spBool lvwritelvector_txt (const char *filename, spLVector vector)
 
ベクトル出力 (<sp/fileio.h>)
void lvdump (spLVector vec)
 
void lvfdump (spLVector vec, FILE *fp)
 
void lvnfdump (FILE *fp,...)
 
メモリ確保と解放
spLVector xlvalloc (long length)
 
void xlvfree (spLVector vector)
 
spLVector xlvallocul (spPlugin *plugin, long length, spBool unlock_flag)
 
spLVector xlvalloculfromv (spLVector x, long length)
 
void lvrfree (spLVector x)
 
void lvialloc (spLVector x)
 
void lvifree (spLVector x)
 
spLVector xlvriallocul (spPlugin *plugin, long length, spBool unlock_flag)
 
spLVector xlvrialloc (long length)
 
spLVector xlvrealloc (spLVector x, long length)
 
ロック・アンロック
spBool lvisplugincomputable (spLVector x)
 
spBool lvislocked (spLVector x)
 
spBool lvlock (spLVector x)
 
spBool lvunlock (spLVector x)
 
spBool lvsetlock (spLVector x, spBool lock)
 
spBool lvsync (spLVector x)
 
複素数
spLVector xlvcplx (spLVector xr, spLVector xi)
 
void lvreal (spLVector x)
 
void lvimag (spLVector x)
 
spLVector xlvreal (spLVector x)
 
spLVector xlvimag (spLVector x)
 
void lvconj (spLVector x)
 
spLVector xlvconj (spLVector x)
 
void lvriswap (spLVector x)
 
spLVector xlvriswap (spLVector x)
 
データコピー
void lvcopy (spLVector y, spLVector x)
 
void lvrcopyi (spLVector y, spLVector x)
 
void lvicopyr (spLVector y, spLVector x)
 
long lvcopyfromarray (spLVector y, long y_offset, long *data, long length)
 
long lvcopyfromriarray (spLVector y, long y_offset, long *data, long *imag, long length)
 
long lvcopytoarray (spLVector x, long x_offset, long *data, long length)
 
long lvcopytoriarray (spLVector x, long x_offset, long *data, long *imag, long length)
 
spLVector xlvclone (spLVector x)
 
spLVector xlvcat (spLVector x, spLVector y)
 
void lvcat (spLVector x, spLVector y)
 
データ初期化
spBool lvinit (spLVector x, long m, long incr, long n)
 
spLVector xlvinit (long m, long incr, long n)
 
spLVector xlvinitul (spPlugin *plugin, long m, long incr, long n, spBool unlock_flag)
 
spBool lviinit (spLVector x, long m, long incr, long n)
 
spBool lvriinit (spLVector x, long m, long incr, long n)
 
spLVector xlvriinit (long m, long incr, long n)
 
spLVector xlvriinitul (spPlugin *plugin, long m, long incr, long n, spBool unlock_flag)
 
データ編集
spLVector xlvcut (spLVector x, long offset, long length)
 
long lvpaste (spLVector y, spLVector x, long y_offset, long x_length, spBool overlap)
 
long lvadd (spLVector y, long y_offset, spLVector x, long x_offset, long x_length, spBool overlap)
 
void lverase (spLVector x, long offset, long length, spBool inv)
 
データ変更
void lvset (spLVector x, long *data, long length)
 
void lviset (spLVector x, long *imag, long length)
 
spLVector xlvsetve (spPlugin *plugin, long *data, long length)
 
spLVector xlvset (long *data, long length)
 
spLVector xlvsetnew (long *data, long length)
 
spBool lvsetval (spLVector x, long index, long value)
 
spBool lvsetival (spLVector x, long index, long value)
 
絶対値(<sp/vmath.h>)
void lvabs (spLVector x)
 
spLVector xlvabs (spLVector x)
 
平方根(<sp/vmath.h>)
void lvsqrt (spLVector x)
 
spLVector xlvsqrt (spLVector x)
 
自乗(<sp/vmath.h>)
void lvsquare (spLVector x)
 
spLVector xlvsquare (spLVector x)
 
符号関数(<sp/vmath.h>)
void lvsign (spLVector x)
 
spLVector xlvsign (spLVector x)
 
累積和(<sp/vmath.h>)
void lvcumsum (spLVector x)
 
spLVector xlvcumsum (spLVector x)
 
累積積(<sp/vmath.h>)
void lvcumprod (spLVector x)
 
spLVector xlvcumprod (spLVector x)
 
差分ベクトル(<sp/vmath.h>)
void lvcodiff (spLVector x, double coef)
 
spLVector xlvcodiff (spLVector x, double coef)
 
#define lvdiff(x)   lvcodiff(x, 1.0);
 
#define xlvdiff(x)   xlvcodiff(x, 1.0);
 
総和(<sp/vmath.h>)
long lvsum (spLVector x)
 
long lvisum (spLVector x)
 
long lvsqsum (spLVector x)
 
long lvabssum (spLVector x)
 
総乗(<sp/vmath.h>)
long lvprod (spLVector x)
 
long lvriprod (spLVector x, long *oiprod)
 
ノルム(<sp/vmath.h>)
double lvnorm (spLVector x, long p)
 
内積(<sp/vmath.h>)
long lvdot (spLVector x, spLVector y)
 
void lvcplxdot (spLVector x, spLVector y, long *re, long *im)
 
平均・分散(<sp/vmath.h>)
double lvvar (spLVector x, double *mean)
 
double lvstd (spLVector x, double *mean)
 
#define lvmean(x)   ((double)lvsum(x) / (double)x->length)
 
最大・最小(<sp/vmath.h>)
long lvmin (spLVector x, long *index)
 
long lvmax (spLVector x, long *index)
 
void lvscmin (spLVector x, long a)
 
void lvscmax (spLVector x, long a)
 
void lvelmin (spLVector x, spLVector y)
 
void lvelmax (spLVector x, spLVector y)
 
ソート・中央値(<sp/vmath.h>)
void lvsort (spLVector x)
 
spLVector xlvsort (spLVector x)
 
spLVector xlvsortidx (spLVector x)
 
double lvmedian (spLVector x)
 
spLVector xlvmedian (spLVector x, double *median)
 
零交差数(<sp/vmath.h>)
long lvzerocross (spLVector x, int slope_sign)
 
四則演算(<sp/voperate.h>)
void lvoper (spLVector a, const char *op, spLVector b)
 
spLVector xlvoper (spLVector a, const char *op, spLVector b)
 
void lvscoper (spLVector a, const char *op, double t)
 
spLVector xlvscoper (spLVector a, const char *op, double t)
 
void lvcplxoper (spLVector a, const char *op, double tr, double ti)
 
spLVector xlvcplxoper (spLVector a, const char *op, double tr, double ti)
 
要素の並び替え(<sp/voperate.h>)
spLVector xlvremap (spLVector x, spLVector map)
 
要素の抽出(<sp/voperate.h>)
spLVector xlvfind (spLVector x)
 
spLVector xlvfindv (spLVector x)
 
要素の比較(<sp/voperate.h>)
void lvsceval (spLVector x, const char *op, long t)
 
spLVector xlvsceval (spLVector x, const char *op, long t)
 
spLVector xlvscfind (spLVector x, const char *op, long t)
 
spLVector xlvscfindv (spLVector x, const char *op, long t)
 

フィールド

long length
 
long * data
 
long * imag
 

関連関数

(これらはメソッドではありません)

#define lvnums(x, length, value)   lvinit(x, (long)(value), 0, (long)(length))
 
#define lvzeros(x, length)   lvnums(x, length, 0)
 
#define lvones(x, length)   lvnums(x, length, 1)
 
#define lvinums(x, length, value)   lviinit(x, (long)(value), 0, (long)(length))
 
#define lvizeros(x, length)   lvinums(x, length, 0.0)
 
#define lviones(x, length)   lvinums(x, length, 1.0)
 
#define lvrinums(x, length, value)   lvriinit(x, (long)(value), 0, (long)(length))
 
#define lvrizeros(x, length)   lvrinums(x, length, 0.0)
 
#define lvriones(x, length)   lvrinums(x, length, 1.0)
 
#define xlvnums(length, value)   xlvinit((long)(value), 0, (long)(length))
 
#define xlvnumsul(plugin, length, value, unlock_flag)   xlvinitul(plugin, (long)(value), 0, (long)(length), unlock_flag)
 
#define xlvzeros(length)   xlvnums(length, 0)
 
#define xlvzerosul(plugin, length, unlock_flag)   xlvnumsul(plugin, length, 0, unlock_flag)
 
#define xlvones(length)   xlvnums(length, 1)
 
#define xlvonesul(plugin, length, unlock_flag)   xlvnumsul(plugin, length, 1, unlock_flag)
 
#define xlvnull()   xlvalloc(0)
 
#define xlvnullul(plugin, unlock_flag)   xlvallocul(plugin, 0, unlock_flag)
 
#define xlvrinums(length, value)   xlvriinit((long)(value), 0, (long)(length))
 
#define xlvrinumsul(plugin, length, value, unlock_flag)   xlvriinitul(plugin, (long)(value), 0, (long)(length), unlock_flag)
 
#define xlvrizeros(length)   xlvrinums(length, 0)
 
#define xlvrizerosul(plugin, length, unlock_flag)   xlvrinumsul(plugin, length, 0, unlock_flag)
 
#define xlvriones(length)   xlvrinums(length, 1)
 
#define xlvrionesul(plugin, length, unlock_flag)   xlvrinumsul(plugin, length, 1, unlock_flag)
 
#define lvunset(x)   lvset(x, NULL, 0)
 
#define lviunset(x)   lviset(x, NULL, 0)
 

ベクトル型用ファイル入出力 (<sp/fileio.h>)

spLVector xlvreadlsignal (const char *filename, long headlen, int swap)
 
spBool lvwritelsignal (const char *filename, spLVector vector, int swap)
 
#define xlvreadlvector(filename, swap)   xlvreadlsignal((filename), 0, (swap))
 
#define lvwritelvector(filename, vector, swap)   lvwritelsignal(filename, vector, swap)
 

詳解

long型を扱うためのベクトル型です.

実際には,クラスではなく, typedef struct _spLVector *spLVector; により typedef された型です. メモリを確保するには, xlvalloc() , xlvinit() などの xlv で始まる関数を呼び出す必要があります. また,メモリを解放するには, xlvfree() を呼ぶ必要があります.

各種例
mattest.c, vectest.c.

関数詳解

◆ xlvalloc()

spLVector xlvalloc ( long length)

spLVector のメモリを確保します.

◆ xlvfree()

void xlvfree ( spLVector vector)

spLVector のメモリを解放します.

◆ xlvallocul()

spLVector xlvallocul ( spPlugin * plugin,
long length,
spBool unlock_flag )

spLVector のメモリを確保し,ロック・アンロック状態を設定します.

◆ xlvalloculfromv()

spLVector xlvalloculfromv ( spLVector x,
long length )

spLVector のメモリを確保し,入力ベクトルの状態に基づいてロック・アンロック状態を設定します.

◆ lvrfree()

void lvrfree ( spLVector x)

spLVector の実部のメモリを解放します.

◆ lvialloc()

void lvialloc ( spLVector x)

spLVector の虚部のメモリを確保します.

◆ lvifree()

void lvifree ( spLVector x)

spLVector の虚部のメモリを解放します.

◆ xlvriallocul()

spLVector xlvriallocul ( spPlugin * plugin,
long length,
spBool unlock_flag )

spLVector の実部と虚部のメモリを確保し,ロック・アンロック状態を設定します.

◆ xlvrialloc()

spLVector xlvrialloc ( long length)

spLVector の実部と虚部のメモリを確保します.

◆ xlvrealloc()

spLVector xlvrealloc ( spLVector x,
long length )

ベクトルの要素数を変更し,長くなった部分の要素を0に初期化します.

戻り値
成功時には x のアドレスが返り,失敗時には SP_NODATA が返ります.

◆ lvisplugincomputable()

spBool lvisplugincomputable ( spLVector x)

プラグインベースの計算ができる状態であるかどうかをチェックします.

◆ lvislocked()

spBool lvislocked ( spLVector x)

ベクトルがロック状態かどうかをチェックします.

◆ lvlock()

spBool lvlock ( spLVector x)

ベクトルをロック状態にします.

◆ lvunlock()

spBool lvunlock ( spLVector x)

ベクトルをアンロック状態にします.

◆ lvsetlock()

spBool lvsetlock ( spLVector x,
spBool lock )

データの同期を行わずに,ベクトルをロック状態またはアンロック状態にします.

◆ lvsync()

spBool lvsync ( spLVector x)

ベクトルのロック状態を変更せずに,ベクトルのデータ( ->data->imag )を内部専用データと同期します.

◆ xlvcplx()

spLVector xlvcplx ( spLVector xr,
spLVector xi )

実部と虚部がそれぞれ xrxi になっているベクトルを新規に作成します.

◆ lvreal()

void lvreal ( spLVector x)

x に対し,虚部が存在すれば虚部のメモリを解放し,実部のみのデータにします.

◆ lvimag()

void lvimag ( spLVector x)

x の虚部のみのデータにします.元々の虚部は実部となります.

◆ xlvreal()

spLVector xlvreal ( spLVector x)

x の実部を実部として持つベクトルを新規に作成します.

◆ xlvimag()

spLVector xlvimag ( spLVector x)

x の虚部を実部として持つベクトルを新規に作成します.

◆ lvconj()

void lvconj ( spLVector x)

x の複素共役を計算します.

◆ xlvconj()

spLVector xlvconj ( spLVector x)

x の複素共役となるベクトルを新規に作成します.

◆ lvriswap()

void lvriswap ( spLVector x)

x の実部と虚部を入れ替えます.

◆ xlvriswap()

spLVector xlvriswap ( spLVector x)

x の実部と虚部を入れ替えたベクトルを新規に作成します.

◆ lvcopy()

void lvcopy ( spLVector y,
spLVector x )

x のデータを y にコピーします.x の虚部は, y->imag != NULL が成り立つ場合にのみコピーされます.

◆ lvrcopyi()

void lvrcopyi ( spLVector y,
spLVector x )

x の実部を y の虚部にコピーします.

◆ lvicopyr()

void lvicopyr ( spLVector y,
spLVector x )

x の虚部を y の実部にコピーします.

◆ lvcopyfromarray()

long lvcopyfromarray ( spLVector y,
long y_offset,
long * data,
long length )

配列 data のデータをベクトル y の位置 y_offset へコピーします.

◆ lvcopyfromriarray()

long lvcopyfromriarray ( spLVector y,
long y_offset,
long * data,
long * imag,
long length )

実部が data ,虚部が imag である複素数配列のデータをベクトル y の位置 y_offset へコピーします.

◆ lvcopytoarray()

long lvcopytoarray ( spLVector x,
long x_offset,
long * data,
long length )

ベクトル x の位置 x_offset から取り出したデータを,配列 data へコピーします.

◆ lvcopytoriarray()

long lvcopytoriarray ( spLVector x,
long x_offset,
long * data,
long * imag,
long length )

ベクトル x の位置 x_offset から取り出したデータを,実部 data ,虚部 imag の複素数配列へコピーします.

◆ xlvclone()

spLVector xlvclone ( spLVector x)

x のデータを,新規に作成したベクトルにコピーします.

◆ xlvcat()

spLVector xlvcat ( spLVector x,
spLVector y )

y のデータを x のデータの最後に追加した内容を持つベクトルを新規に作成します.

◆ lvcat()

void lvcat ( spLVector x,
spLVector y )

y のデータを x のデータの最後に追加します.

◆ lvinit()

spBool lvinit ( spLVector x,
long m,
long incr,
long n )

ベクトル x を,要素の値の範囲が m から n で増分が incr になるように初期化します.

◆ xlvinit()

spLVector xlvinit ( long m,
long incr,
long n )

要素の値の範囲が m から n で増分が incr であるようなベクトルを新規に作成します.

◆ xlvinitul()

spLVector xlvinitul ( spPlugin * plugin,
long m,
long incr,
long n,
spBool unlock_flag )

要素の値の範囲が m から n で増分が incr であるようなプラグインベースのベクトルを新規に作成します.

◆ lviinit()

spBool lviinit ( spLVector x,
long m,
long incr,
long n )

ベクトル x の虚部を,要素の値の範囲が m から n で増分が incr になるように初期化します.

◆ lvriinit()

spBool lvriinit ( spLVector x,
long m,
long incr,
long n )

ベクトル x の実部と虚部を,要素の値の範囲が m から n で増分が incr になるように初期化します.

◆ xlvriinit()

spLVector xlvriinit ( long m,
long incr,
long n )

実部と虚部において,要素の値の範囲が m から n で増分が incr であるようなベクトルを新規に作成します.

◆ xlvriinitul()

spLVector xlvriinitul ( spPlugin * plugin,
long m,
long incr,
long n,
spBool unlock_flag )

実部と虚部において,要素の値の範囲が m から n で増分が incr であるようなプラグインベースのベクトルを新規に作成します.

◆ xlvcut()

spLVector xlvcut ( spLVector x,
long offset,
long length )

ベクトル xoffset から要素数 length 分のデータを取り出します.

◆ lvpaste()

long lvpaste ( spLVector y,
spLVector x,
long y_offset,
long x_length,
spBool overlap )

ベクトル x を要素数 x_length で切り出し,それをベクトル y の位置 y_offset へペーストします. 引数 overlap は,ペーストする際に重畳加算するかどうかを決定するフラグです.

◆ lvadd()

long lvadd ( spLVector y,
long y_offset,
spLVector x,
long x_offset,
long x_length,
spBool overlap )

ベクトル x を位置 x_offset から要素数 x_length で切り出し,それをベクトル y の位置 y_offset へペーストします. 引数 overlap が SP_TRUE の場合には,ペーストする際に重畳加算します.

◆ lverase()

void lverase ( spLVector x,
long offset,
long length,
spBool inv )

ベクトル x の位置 offset から要素数 length 分のデータを0に設定します. 引数 inv が SP_TRUE の場合には,位置 offset から要素数 length 分のデータのみを残し,それ以外の区間を0に設定します.

◆ lvset()

void lvset ( spLVector x,
long * data,
long length )

data のアドレスを x->data に設定します.

◆ lviset()

void lviset ( spLVector x,
long * imag,
long length )

imag のアドレスを x->imag に設定します.

◆ xlvsetve()

spLVector xlvsetve ( spPlugin * plugin,
long * data,
long length )

data のアドレスをプラグインベースの新規ベクトルの data に設定します.

◆ xlvset()

spLVector xlvset ( long * data,
long length )

data のアドレスを新規ベクトルの data に設定します.

◆ xlvsetnew()

spLVector xlvsetnew ( long * data,
long length )

実部が data と同じ内容を持つ新規ベクトルを作成します.

◆ lvsetval()

spBool lvsetval ( spLVector x,
long index,
long value )

ベクトル x の位置 index における実部の値を value に設定します.

◆ lvsetival()

spBool lvsetival ( spLVector x,
long index,
long value )

ベクトル x の位置 index における虚部の値を value に設定します.

フレンドと関連関数の詳解

◆ lvnums

#define lvnums ( x,
length,
value )   lvinit(x, (long)(value), 0, (long)(length))
related

ベクトル x の要素を,要素数 length の範囲内で値が value になるよう初期化します.

◆ lvzeros

#define lvzeros ( x,
length )   lvnums(x, length, 0)
related

ベクトル x の要素を,要素数 length の範囲内で値が0になるよう初期化します.

◆ lvones

#define lvones ( x,
length )   lvnums(x, length, 1)
related

ベクトル x の要素を,要素数 length の範囲内で値が1になるよう初期化します.

◆ lvinums

#define lvinums ( x,
length,
value )   lviinit(x, (long)(value), 0, (long)(length))
related

ベクトル x の虚部の要素を,要素数 length の範囲内で値が value になるよう初期化します.

◆ lvizeros

#define lvizeros ( x,
length )   lvinums(x, length, 0.0)
related

ベクトル x の虚部の要素を,要素数 length の範囲内で値が0になるよう初期化します.

◆ lviones

#define lviones ( x,
length )   lvinums(x, length, 1.0)
related

ベクトル x の虚部の要素を,要素数 length の範囲内で値が1になるよう初期化します.

◆ lvrinums

#define lvrinums ( x,
length,
value )   lvriinit(x, (long)(value), 0, (long)(length))
related

ベクトル x の実部と虚部の両方の要素を,要素数 length の範囲内で値が value になるよう初期化します.

◆ lvrizeros

#define lvrizeros ( x,
length )   lvrinums(x, length, 0.0)
related

ベクトル x の実部と虚部の両方の要素を,要素数 length の範囲内で値が0になるよう初期化します.

◆ lvriones

#define lvriones ( x,
length )   lvrinums(x, length, 1.0)
related

ベクトル x の実部と虚部の両方の要素を,要素数 length の範囲内で値が1になるよう初期化します.

◆ xlvnums

#define xlvnums ( length,
value )   xlvinit((long)(value), 0, (long)(length))
related

要素の値が要素数 length の範囲内で value であるようなベクトルを新規に作成します.

◆ xlvnumsul

#define xlvnumsul ( plugin,
length,
value,
unlock_flag )   xlvinitul(plugin, (long)(value), 0, (long)(length), unlock_flag)
related

要素の値が要素数 length の範囲内で value であるようなプラグインベースのベクトルを新規に作成します.

◆ xlvzeros

#define xlvzeros ( length)    xlvnums(length, 0)
related

要素の値が要素数 length の範囲内で0であるようなベクトルを新規に作成します.

◆ xlvzerosul

#define xlvzerosul ( plugin,
length,
unlock_flag )   xlvnumsul(plugin, length, 0, unlock_flag)
related

要素の値が要素数 length の範囲内で0であるようなプラグインベースのベクトルを新規に作成します.

◆ xlvones

#define xlvones ( length)    xlvnums(length, 1)
related

要素の値が要素数 length の範囲内で1であるようなベクトルを新規に作成します.

◆ xlvonesul

#define xlvonesul ( plugin,
length,
unlock_flag )   xlvnumsul(plugin, length, 1, unlock_flag)
related

要素の値が要素数 length の範囲内で1であるようなプラグインベースのベクトルを新規に作成します.

◆ xlvnull

#define xlvnull ( )    xlvalloc(0)
related

要素数0であるベクトルを新規に作成します.

◆ xlvnullul

#define xlvnullul ( plugin,
unlock_flag )   xlvallocul(plugin, 0, unlock_flag)
related

要素数0であるプラグインベースのベクトルを新規に作成します.

◆ xlvrinums

#define xlvrinums ( length,
value )   xlvriinit((long)(value), 0, (long)(length))
related

実部と虚部の両方の要素の値が要素数 length の範囲内で value であるようなベクトルを新規に作成します.

◆ xlvrinumsul

#define xlvrinumsul ( plugin,
length,
value,
unlock_flag )   xlvriinitul(plugin, (long)(value), 0, (long)(length), unlock_flag)
related

実部と虚部の両方の要素の値が要素数 length の範囲内で value であるようなプラグインベースのベクトルを新規に作成します.

◆ xlvrizeros

#define xlvrizeros ( length)    xlvrinums(length, 0)
related

実部と虚部の両方の要素の値が要素数 length の範囲内で0であるようなベクトルを新規に作成します.

◆ xlvrizerosul

#define xlvrizerosul ( plugin,
length,
unlock_flag )   xlvrinumsul(plugin, length, 0, unlock_flag)
related

実部と虚部の両方の要素の値が要素数 length の範囲内で0であるようなプラグインベースのベクトルを新規に作成します.

◆ xlvriones

#define xlvriones ( length)    xlvrinums(length, 1)
related

実部と虚部の両方の要素の値が要素数 length の範囲内で1であるようなベクトルを新規に作成します.

◆ xlvrionesul

#define xlvrionesul ( plugin,
length,
unlock_flag )   xlvrinumsul(plugin, length, 1, unlock_flag)
related

実部と虚部の両方の要素の値が要素数 length の範囲内で1であるようなプラグインベースのベクトルを新規に作成します.

◆ lvunset

#define lvunset ( x)    lvset(x, NULL, 0)
related

x->data を NULL に設定します.

◆ lviunset

#define lviunset ( x)    lviset(x, NULL, 0)
related

x->imag を NULL に設定します.

フィールド詳解

◆ length

long length

ベクトルの要素数を保持します.メモリ確保された spLVectorx があった場合,その要素数は x->length で取得できます.

◆ data

long* data

実部のデータを保持します.メモリ確保された spLVectorx があった場合,0番目の要素は x->data[0] で取得できます.

◆ imag

long* imag

虚部のデータを保持します.メモリ確保された spLVectorx があった場合,0番目の要素は x->imag[0] で取得できます.虚部が存在しない場合はNULLであることがあります.