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

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

#include <sp/vector.h>

spDVector 連携図
Collaboration graph

公開メンバ関数

ベクトル型用テキスト入出力 (<sp/fileio.h>)
spBool dvreaddvector_txt (const char *filename, spDVector vector)
 
spDVector xdvreaddvector_txt (const char *filename)
 
spBool dvreadcol_txt (const char *filename, int col, spDVector vector)
 
spDVector xdvreadcol_txt (const char *filename, int col)
 
spBool dvwritedvector_txt (const char *filename, spDVector vector)
 
入出力用ベクトルデータ加工 (<sp/fileio.h>)
double dvmaxamp (spDVector vec)
 
double dvadjustamp (spDVector vec, double amp)
 
double dvlimitamp (spDVector vec, double amp)
 
spDVector xdvextractchannel (spDVector x, int channel, int num_channel)
 
ベクトル出力 (<sp/fileio.h>)
void dvdump (spDVector vec)
 
void dvfdump (spDVector vec, FILE *fp)
 
void dvnfdump (FILE *fp,...)
 
メモリ確保と解放
spDVector xdvalloc (long length)
 
void xdvfree (spDVector vector)
 
spDVector xdvallocul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvalloculfromv (spDVector x, long length)
 
void dvrfree (spDVector x)
 
void dvialloc (spDVector x)
 
void dvifree (spDVector x)
 
spDVector xdvriallocul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvrialloc (long length)
 
spDVector xdvrealloc (spDVector x, long length)
 
ロック・アンロック
spBool dvisplugincomputable (spDVector x)
 
spBool dvislocked (spDVector x)
 
spBool dvlock (spDVector x)
 
spBool dvunlock (spDVector x)
 
spBool dvsetlock (spDVector x, spBool lock)
 
spBool dvsync (spDVector x)
 
複素数
spDVector xdvcplx (spDVector xr, spDVector xi)
 
void dvreal (spDVector x)
 
void dvimag (spDVector x)
 
spDVector xdvreal (spDVector x)
 
spDVector xdvimag (spDVector x)
 
void dvconj (spDVector x)
 
spDVector xdvconj (spDVector x)
 
void dvriswap (spDVector x)
 
spDVector xdvriswap (spDVector x)
 
データコピー
void dvcopy (spDVector y, spDVector x)
 
void dvrcopyi (spDVector y, spDVector x)
 
void dvicopyr (spDVector y, spDVector x)
 
long dvcopyfromarray (spDVector y, long y_offset, double *data, long length)
 
long dvcopyfromriarray (spDVector y, long y_offset, double *data, double *imag, long length)
 
long dvcopytoarray (spDVector x, long x_offset, double *data, long length)
 
long dvcopytoriarray (spDVector x, long x_offset, double *data, double *imag, long length)
 
spSVector xdvtos (spDVector x)
 
spLVector xdvtol (spDVector x)
 
spFVector xdvtof (spDVector x)
 
spDVector xdvclone (spDVector x)
 
spDVector xdvcat (spDVector x, spDVector y)
 
void dvcat (spDVector x, spDVector y)
 
データ初期化
spBool dvinit (spDVector x, double m, double incr, double n)
 
spDVector xdvinit (double m, double incr, double n)
 
spDVector xdvinitul (spPlugin *plugin, double m, double incr, double n, spBool unlock_flag)
 
spBool dviinit (spDVector x, double m, double incr, double n)
 
spBool dvriinit (spDVector x, double m, double incr, double n)
 
spDVector xdvriinit (double m, double incr, double n)
 
spDVector xdvriinitul (spPlugin *plugin, double m, double incr, double n, spBool unlock_flag)
 
データ編集
spDVector xdvcut (spDVector x, long offset, long length)
 
long dvpaste (spDVector y, spDVector x, long y_offset, long x_length, spBool overlap)
 
long dvadd (spDVector y, long y_offset, spDVector x, long x_offset, long x_length, spBool overlap)
 
void dverase (spDVector x, long offset, long length, spBool inv)
 
データ変更
void dvset (spDVector x, double *data, long length)
 
void dviset (spDVector x, double *imag, long length)
 
spDVector xdvsetve (spPlugin *plugin, double *data, long length)
 
spDVector xdvset (double *data, long length)
 
spDVector xdvsetnew (double *data, long length)
 
spBool dvsetval (spDVector x, long index, double value)
 
spBool dvsetival (spDVector x, long index, double value)
 
絶対値(<sp/vmath.h>)
void dvabs (spDVector x)
 
spDVector xdvabs (spDVector x)
 
平方根(<sp/vmath.h>)
void dvsqrt (spDVector x)
 
spDVector xdvsqrt (spDVector x)
 
自乗(<sp/vmath.h>)
void dvsquare (spDVector x)
 
spDVector xdvsquare (spDVector x)
 
符号関数(<sp/vmath.h>)
void dvsign (spDVector x)
 
spDVector xdvsign (spDVector x)
 
累積和(<sp/vmath.h>)
void dvcumsum (spDVector x)
 
spDVector xdvcumsum (spDVector x)
 
累積積(<sp/vmath.h>)
void dvcumprod (spDVector x)
 
spDVector xdvcumprod (spDVector x)
 
差分ベクトル(<sp/vmath.h>)
void dvcodiff (spDVector x, double coef)
 
spDVector xdvcodiff (spDVector x, double coef)
 
#define dvdiff(x)   dvcodiff(x, 1.0);
 
#define xdvdiff(x)   xdvcodiff(x, 1.0);
 
総和(<sp/vmath.h>)
double dvsum (spDVector x)
 
double dvisum (spDVector x)
 
double dvsqsum (spDVector x)
 
double dvabssum (spDVector x)
 
総乗(<sp/vmath.h>)
double dvprod (spDVector x)
 
double dvriprod (spDVector x, double *oiprod)
 
ノルム(<sp/vmath.h>)
double dvnorm (spDVector x, long p)
 
内積(<sp/vmath.h>)
double dvdot (spDVector x, spDVector y)
 
void dvcplxdot (spDVector x, spDVector y, double *re, double *im)
 
平均・分散(<sp/vmath.h>)
double dvvar (spDVector x, double *mean)
 
double dvstd (spDVector x, double *mean)
 
#define dvmean(x)   (dvsum(x) / (double)x->length)
 
最大・最小(<sp/vmath.h>)
double dvmin (spDVector x, long *index)
 
double dvmax (spDVector x, long *index)
 
void dvscmin (spDVector x, double a)
 
void dvscmax (spDVector x, double a)
 
void dvelmin (spDVector x, spDVector y)
 
void dvelmax (spDVector x, spDVector y)
 
ソート・中央値(<sp/vmath.h>)
void dvsort (spDVector x)
 
spDVector xdvsort (spDVector x)
 
spLVector xdvsortidx (spDVector x)
 
double dvmedian (spDVector x)
 
spDVector xdvmedian (spDVector x, double *median)
 
零交差数(<sp/vmath.h>)
long dvzerocross (spDVector x, int slope_sign)
 
位相角(<sp/vmath.h>)
void dvangle (spDVector x)
 
spDVector xdvangle (spDVector x)
 
三角関数(<sp/vmath.h>)
void dvcos (spDVector x)
 
spDVector xdvcos (spDVector x)
 
void dvsin (spDVector x)
 
spDVector xdvsin (spDVector x)
 
void dvtan (spDVector x)
 
spDVector xdvtan (spDVector x)
 
void dvcosh (spDVector x)
 
spDVector xdvcosh (spDVector x)
 
void dvsinh (spDVector x)
 
spDVector xdvsinh (spDVector x)
 
void dvtanh (spDVector x)
 
spDVector xdvtanh (spDVector x)
 
void dvacos (spDVector x)
 
spDVector xdvacos (spDVector x)
 
void dvasin (spDVector x)
 
spDVector xdvasin (spDVector x)
 
void dvatan (spDVector x)
 
spDVector xdvatan (spDVector x)
 
void dvatan2 (spDVector y, spDVector x, spBool reverse)
 
spDVector xdvatan2 (spDVector y, spDVector x)
 
指数・対数(<sp/vmath.h>)
void dvexp (spDVector x)
 
spDVector xdvexp (spDVector x)
 
void dvlog (spDVector x)
 
spDVector xdvlog (spDVector x)
 
void dvlog10 (spDVector x)
 
spDVector xdvlog10 (spDVector x)
 
void dvdecibela (spDVector x)
 
spDVector xdvdecibela (spDVector x)
 
void dvdecibelp (spDVector x)
 
spDVector xdvdecibelp (spDVector x)
 
void dvundecibelp (spDVector x)
 
spDVector xdvundecibelp (spDVector x)
 
void dvdecibel (spDVector x)
 
spDVector xdvdecibel (spDVector x)
 
void dvundecibel (spDVector x)
 
spDVector xdvundecibel (spDVector x)
 
乱数(<sp/vmath.h>)
void dvrandun (spDVector x)
 
spDVector xdvrandunul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvrandun (long length)
 
void dvgauss (spDVector x, double mu, double sigma)
 
spDVector xdvgaussul (spPlugin *plugin, long length, double mu, double sigma, spBool unlock_flag)
 
spDVector xdvgauss (long length, double mu, double sigma)
 
void dvrandn (spDVector x)
 
spDVector xdvrandnul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvrandn (long length)
 
四則演算(<sp/voperate.h>)
void dvoper (spDVector a, const char *op, spDVector b)
 
spDVector xdvoper (spDVector a, const char *op, spDVector b)
 
void dvscoper (spDVector a, const char *op, double t)
 
spDVector xdvscoper (spDVector a, const char *op, double t)
 
void dvcplxoper (spDVector a, const char *op, double tr, double ti)
 
spDVector xdvcplxoper (spDVector a, const char *op, double tr, double ti)
 
要素の並び替え(<sp/voperate.h>)
spDVector xdvremap (spDVector x, spLVector map)
 
要素の抽出(<sp/voperate.h>)
spLVector xdvfind (spDVector x)
 
spDVector xdvfindv (spDVector x)
 
要素の比較(<sp/voperate.h>)
void dvsceval (spDVector x, const char *op, double t)
 
spDVector xdvsceval (spDVector x, const char *op, double t)
 
spLVector xdvscfind (spDVector x, const char *op, double t)
 
spDVector xdvscfindv (spDVector x, const char *op, double t)
 
ベクトル型用ブラックマン窓(<sp/window.h>)
void dvblackman (spDVector vec)
 
spDVector xdvblackmanul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvblackman (long length)
 
void dvnblackman (spDVector vec)
 
spDVector xdvnblackmanul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvnblackman (long length)
 
ベクトル型用ハミング窓(<sp/window.h>)
void dvhamming (spDVector vec)
 
spDVector xdvhammingul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvhamming (long length)
 
void dvnhamming (spDVector vec)
 
spDVector xdvnhammingul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvnhamming (long length)
 
ベクトル型用ハニング窓(<sp/window.h>)
void dvhanning (spDVector vec)
 
spDVector xdvhanningul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvhanning (long length)
 
void dvnhanning (spDVector vec)
 
spDVector xdvnhanningul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvnhanning (long length)
 
ベクトル型用ハン窓(<sp/window.h>)
void dvhann (spDVector vec)
 
spDVector xdvhannul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvhann (long length)
 
void dvnhann (spDVector vec)
 
spDVector xdvnhannul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvnhann (long length)
 
ベクトル型用ガウス窓(<sp/window.h>)
void dvgausswinex (spDVector vec, double alpha)
 
spDVector xdvgausswinexul (spPlugin *plugin, long length, double alpha, spBool unlock_flag)
 
spDVector xdvgausswinex (long length, double alpha)
 
void dvgausswin (spDVector vec)
 
spDVector xdvgausswinul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvgausswin (long length)
 
void dvngausswinex (spDVector vec, double alpha)
 
spDVector xdvngausswinexul (spPlugin *plugin, long length, double alpha, spBool unlock_flag)
 
spDVector xdvngausswinex (long length, double alpha)
 
void dvngausswin (spDVector vec)
 
spDVector xdvngausswinul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvngausswin (long length)
 
ベクトル型用方型窓(<sp/window.h>)
void dvnboxcar (spDVector vec)
 
spDVector xdvnboxcarul (spPlugin *plugin, long length, spBool unlock_flag)
 
spDVector xdvnboxcar (long length)
 

フィールド

long length
 
double * data
 
double * imag
 

関連関数

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

#define dvnums(x, length, value)   dvinit(x, (double)(value), 0.0, (double)(length))
 
#define dvzeros(x, length)   dvnums(x, length, 0.0)
 
#define dvones(x, length)   dvnums(x, length, 1.0)
 
#define dvinums(x, length, value)   dviinit(x, (double)(value), 0.0, (double)(length))
 
#define dvizeros(x, length)   dvinums(x, length, 0.0)
 
#define dviones(x, length)   dvinums(x, length, 1.0)
 
#define dvrinums(x, length, value)   dvriinit(x, (double)(value), 0.0, (double)(length))
 
#define dvrizeros(x, length)   dvrinums(x, length, 0.0)
 
#define dvriones(x, length)   dvrinums(x, length, 1.0)
 
#define xdvnums(length, value)   xdvinit((double)(value), 0.0, (double)(length))
 
#define xdvnumsul(plugin, length, value, unlock_flag)   xdvinitul(plugin, (double)(value), 0.0, (double)(length), unlock_flag)
 
#define xdvzeros(length)   xdvnums(length, 0.0)
 
#define xdvzerosul(plugin, length, unlock_flag)   xdvnumsul(plugin, length, 0.0, unlock_flag)
 
#define xdvones(length)   xdvnums(length, 1.0)
 
#define xdvonesul(plugin, length, unlock_flag)   xdvnumsul(plugin, length, 1.0, unlock_flag)
 
#define xdvnull()   xdvalloc(0)
 
#define xdvnullul(plugin, unlock_flag)   xdvallocul(plugin, 0, unlock_flag)
 
#define xdvrinums(length, value)   xdvriinit((double)(value), 0.0, (double)(length))
 
#define xdvrinumsul(plugin, length, value, unlock_flag)   xdvriinitul(plugin, (double)(value), 0.0, (double)(length), unlock_flag)
 
#define xdvrizeros(length)   xdvrinums(length, 0.0)
 
#define xdvrizerosul(plugin, length, unlock_flag)   xdvrinumsul(plugin, length, 0.0, unlock_flag)
 
#define xdvriones(length)   xdvrinums(length, 1.0)
 
#define xdvrionesul(plugin, length, unlock_flag)   xdvrinumsul(plugin, length, 1.0, unlock_flag)
 
#define dvunset(x)   dvset(x, NULL, 0)
 
#define dviunset(x)   dviset(x, NULL, 0)
 

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

spDVector xdvreaddsignal (const char *filename, long headlen, int swap)
 
spDVector xdvreadssignal (const char *filename, long headlen, int swap)
 
spDVector xdvreadlsignal (const char *filename, long headlen, int swap)
 
spDVector xdvreadfsignal (const char *filename, long headlen, int swap)
 
spBool dvwritedsignal (const char *filename, spDVector vector, int swap)
 
spBool dvwritessignal (const char *filename, spDVector vector, int swap)
 
spBool dvwritelsignal (const char *filename, spDVector vector, int swap)
 
spBool dvwritefsignal (const char *filename, spDVector vector, int swap)
 
#define xdvreaddvector(filename, swap)   xdvreaddsignal((filename), 0, (swap))
 
#define xdvreadsvector(filename, swap)   xdvreadssignal((filename), 0, (swap))
 
#define xdvreadlvector(filename, swap)   xdvreadlsignal((filename), 0, (swap))
 
#define xdvreadfvector(filename, swap)   xdvreadfsignal((filename), 0, (swap))
 
#define dvwritedvector(filename, vector, swap)   dvwritedsignal(filename, vector, swap)
 
#define dvwritesvector(filename, vector, swap)   dvwritessignal(filename, vector, swap)
 
#define dvwritelvector(filename, vector, swap)   dvwritelsignal(filename, vector, swap)
 
#define dvwritefvector(filename, vector, swap)   dvwritefsignal(filename, vector, swap)
 

詳解

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

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

各種例
fftvec.c, filtertest.c, interptest.c, lpctest.c, mattest.c, vectest.c, windowtest.c.

関数詳解

◆ xdvalloc()

spDVector xdvalloc ( long length)

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

◆ xdvfree()

void xdvfree ( spDVector vector)

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

◆ xdvallocul()

spDVector xdvallocul ( spPlugin * plugin,
long length,
spBool unlock_flag )

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

◆ xdvalloculfromv()

spDVector xdvalloculfromv ( spDVector x,
long length )

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

◆ dvrfree()

void dvrfree ( spDVector x)

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

◆ dvialloc()

void dvialloc ( spDVector x)

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

◆ dvifree()

void dvifree ( spDVector x)

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

◆ xdvriallocul()

spDVector xdvriallocul ( spPlugin * plugin,
long length,
spBool unlock_flag )

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

◆ xdvrialloc()

spDVector xdvrialloc ( long length)

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

◆ xdvrealloc()

spDVector xdvrealloc ( spDVector x,
long length )

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

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

◆ dvisplugincomputable()

spBool dvisplugincomputable ( spDVector x)

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

◆ dvislocked()

spBool dvislocked ( spDVector x)

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

◆ dvlock()

spBool dvlock ( spDVector x)

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

◆ dvunlock()

spBool dvunlock ( spDVector x)

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

◆ dvsetlock()

spBool dvsetlock ( spDVector x,
spBool lock )

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

◆ dvsync()

spBool dvsync ( spDVector x)

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

◆ xdvcplx()

spDVector xdvcplx ( spDVector xr,
spDVector xi )

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

◆ dvreal()

void dvreal ( spDVector x)

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

◆ dvimag()

void dvimag ( spDVector x)

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

◆ xdvreal()

spDVector xdvreal ( spDVector x)

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

◆ xdvimag()

spDVector xdvimag ( spDVector x)

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

◆ dvconj()

void dvconj ( spDVector x)

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

◆ xdvconj()

spDVector xdvconj ( spDVector x)

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

◆ dvriswap()

void dvriswap ( spDVector x)

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

◆ xdvriswap()

spDVector xdvriswap ( spDVector x)

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

◆ dvcopy()

void dvcopy ( spDVector y,
spDVector x )

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

◆ dvrcopyi()

void dvrcopyi ( spDVector y,
spDVector x )

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

◆ dvicopyr()

void dvicopyr ( spDVector y,
spDVector x )

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

◆ dvcopyfromarray()

long dvcopyfromarray ( spDVector y,
long y_offset,
double * data,
long length )

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

◆ dvcopyfromriarray()

long dvcopyfromriarray ( spDVector y,
long y_offset,
double * data,
double * imag,
long length )

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

◆ dvcopytoarray()

long dvcopytoarray ( spDVector x,
long x_offset,
double * data,
long length )

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

◆ dvcopytoriarray()

long dvcopytoriarray ( spDVector x,
long x_offset,
double * data,
double * imag,
long length )

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

◆ xdvtos()

spSVector xdvtos ( spDVector x)

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

◆ xdvtol()

spLVector xdvtol ( spDVector x)

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

◆ xdvtof()

spFVector xdvtof ( spDVector x)

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

◆ xdvclone()

spDVector xdvclone ( spDVector x)

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

◆ xdvcat()

spDVector xdvcat ( spDVector x,
spDVector y )

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

◆ dvcat()

void dvcat ( spDVector x,
spDVector y )

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

◆ dvinit()

spBool dvinit ( spDVector x,
double m,
double incr,
double n )

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

◆ xdvinit()

spDVector xdvinit ( double m,
double incr,
double n )

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

◆ xdvinitul()

spDVector xdvinitul ( spPlugin * plugin,
double m,
double incr,
double n,
spBool unlock_flag )

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

◆ dviinit()

spBool dviinit ( spDVector x,
double m,
double incr,
double n )

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

◆ dvriinit()

spBool dvriinit ( spDVector x,
double m,
double incr,
double n )

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

◆ xdvriinit()

spDVector xdvriinit ( double m,
double incr,
double n )

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

◆ xdvriinitul()

spDVector xdvriinitul ( spPlugin * plugin,
double m,
double incr,
double n,
spBool unlock_flag )

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

◆ xdvcut()

spDVector xdvcut ( spDVector x,
long offset,
long length )

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

◆ dvpaste()

long dvpaste ( spDVector y,
spDVector x,
long y_offset,
long x_length,
spBool overlap )

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

◆ dvadd()

long dvadd ( spDVector y,
long y_offset,
spDVector x,
long x_offset,
long x_length,
spBool overlap )

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

◆ dverase()

void dverase ( spDVector x,
long offset,
long length,
spBool inv )

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

◆ dvset()

void dvset ( spDVector x,
double * data,
long length )

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

◆ dviset()

void dviset ( spDVector x,
double * imag,
long length )

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

◆ xdvsetve()

spDVector xdvsetve ( spPlugin * plugin,
double * data,
long length )

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

◆ xdvset()

spDVector xdvset ( double * data,
long length )

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

◆ xdvsetnew()

spDVector xdvsetnew ( double * data,
long length )

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

◆ dvsetval()

spBool dvsetval ( spDVector x,
long index,
double value )

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

◆ dvsetival()

spBool dvsetival ( spDVector x,
long index,
double value )

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

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

◆ dvnums

#define dvnums ( x,
length,
value )   dvinit(x, (double)(value), 0.0, (double)(length))
related

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

◆ dvzeros

#define dvzeros ( x,
length )   dvnums(x, length, 0.0)
related

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

◆ dvones

#define dvones ( x,
length )   dvnums(x, length, 1.0)
related

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

◆ dvinums

#define dvinums ( x,
length,
value )   dviinit(x, (double)(value), 0.0, (double)(length))
related

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

◆ dvizeros

#define dvizeros ( x,
length )   dvinums(x, length, 0.0)
related

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

◆ dviones

#define dviones ( x,
length )   dvinums(x, length, 1.0)
related

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

◆ dvrinums

#define dvrinums ( x,
length,
value )   dvriinit(x, (double)(value), 0.0, (double)(length))
related

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

◆ dvrizeros

#define dvrizeros ( x,
length )   dvrinums(x, length, 0.0)
related

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

◆ dvriones

#define dvriones ( x,
length )   dvrinums(x, length, 1.0)
related

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

◆ xdvnums

#define xdvnums ( length,
value )   xdvinit((double)(value), 0.0, (double)(length))
related

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

◆ xdvnumsul

#define xdvnumsul ( plugin,
length,
value,
unlock_flag )   xdvinitul(plugin, (double)(value), 0.0, (double)(length), unlock_flag)
related

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

◆ xdvzeros

#define xdvzeros ( length)    xdvnums(length, 0.0)
related

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

◆ xdvzerosul

#define xdvzerosul ( plugin,
length,
unlock_flag )   xdvnumsul(plugin, length, 0.0, unlock_flag)
related

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

◆ xdvones

#define xdvones ( length)    xdvnums(length, 1.0)
related

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

◆ xdvonesul

#define xdvonesul ( plugin,
length,
unlock_flag )   xdvnumsul(plugin, length, 1.0, unlock_flag)
related

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

◆ xdvnull

#define xdvnull ( )    xdvalloc(0)
related

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

◆ xdvnullul

#define xdvnullul ( plugin,
unlock_flag )   xdvallocul(plugin, 0, unlock_flag)
related

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

◆ xdvrinums

#define xdvrinums ( length,
value )   xdvriinit((double)(value), 0.0, (double)(length))
related

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

◆ xdvrinumsul

#define xdvrinumsul ( plugin,
length,
value,
unlock_flag )   xdvriinitul(plugin, (double)(value), 0.0, (double)(length), unlock_flag)
related

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

◆ xdvrizeros

#define xdvrizeros ( length)    xdvrinums(length, 0.0)
related

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

◆ xdvrizerosul

#define xdvrizerosul ( plugin,
length,
unlock_flag )   xdvrinumsul(plugin, length, 0.0, unlock_flag)
related

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

◆ xdvriones

#define xdvriones ( length)    xdvrinums(length, 1.0)
related

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

◆ xdvrionesul

#define xdvrionesul ( plugin,
length,
unlock_flag )   xdvrinumsul(plugin, length, 1.0, unlock_flag)
related

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

◆ dvunset

#define dvunset ( x)    dvset(x, NULL, 0)
related

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

◆ dviunset

#define dviunset ( x)    dviset(x, NULL, 0)
related

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

フィールド詳解

◆ length

long length

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

各種例
fftvec.c, filtertest.c, interptest.c, lpctest.c, mattest.c, vectest.c.

◆ data

double* data

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

各種例
filtertest.c, interptest.c, lpctest.c, mattest.c.

◆ imag

double* imag

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

各種例
mattest.c.