spLib
|
データ構造 | |
class | spSVector |
short型を扱うためのベクトル型です. [詳解] | |
class | spLVector |
long型を扱うためのベクトル型です. [詳解] | |
class | spFVector |
float型を扱うためのベクトル型です. [詳解] | |
class | spDVector |
double型を扱うためのベクトル型です. [詳解] | |
マクロ定義 | |
#define | SP_LOW_FLOAT_PRECISION SP_32BIT_PRECISION |
列挙型 | |
enum | spPrecision { SP_HIGHEST_PRECISION = 128 , SP_HIGH_DOUBLE_PRECISION = 72 , SP_DOUBLE_PRECISION = 64 , SP_LOW_DOUBLE_PRECISION = 48 , SP_HIGH_FLOAT_PRECISION = 34 , SP_FLOAT_PRECISION = 33 , SP_32BIT_PRECISION = 32 , SP_24BIT_PRECISION = 24 , SP_16BIT_PRECISION = 16 , SP_8BIT_PRECISION = 8 , SP_IGNORE_PRECISION = 0 , SP_UNKNOWN_PRECISION = 255 } |
enum | spComputeSpeed { SP_COMPUTE_SPEED_EXTREMELY_FAST = 35 , SP_COMPUTE_SPEED_VERY_FAST = 30 , SP_COMPUTE_SPEED_FASTER = 25 , SP_COMPUTE_SPEED_FAST = 20 , SP_COMPUTE_SPEED_NORMAL = 10 , SP_COMPUTE_SPEED_SLOW = 5 , SP_COMPUTE_SPEED_SLOWER = 4 , SP_COMPUTE_SPEED_VERY_SLOW = 3 , SP_COMPUTE_SPEED_EXTREMELY_SLOW = 2 , SP_COMPUTE_SPEED_UNKNOWN = -1 } |
ベクトル型は,様々な信号処理関数の引数や戻り値として用いられる型です. short型を扱うための spSVector 型,long型を扱うための spLVector 型,float型を扱うための spFVector 型,double型を扱うための spDVector 型が用意されています.
spSVector 型では xsv, spLVector 型では xlv, spFVector 型では xfv, spDVector 型では xdvで始まる関数でメモリ確保されます. メモリ確保されたベクトルは,使用しなくなったらそれぞれ xsvfree() , xlvfree() , xfvfree() , xdvfree() で解放する必要があります.
ベクトルの内部状態として,ロック状態とアンロック状態があります(バージョン0.9から導入).
デフォルトはロック状態で,アンロック状態にする関数( svunlock() , lvunlock() , fvunlock() , dvunlock() )を呼び出すことにより、その後の一部の処理が高速になることがあります. ただし,アンロック状態ではベクトルのデータへのアクセスが禁止されていますので, ->data
や ->imag
などのベクトル内の配列にアクセスする前に,ロック状態にする関数( svlock() , lvlock() , fvlock() , dvlock() )を呼び出します.
一部環境におけるアンロック状態では,内部処理専用となる内部データのみに正しいデータがあることが保証されており,このデータに対して直接処理することで高速な実行が実現されています. そのため,高速処理が行われる関数を呼び出す前にベクトルをアンロックする必要があります. ただし,ロック・アンロック処理は,一部環境ではオーバーヘッドが大きいため,何度もロック・アンロック処理を行うと,高速化による恩恵がほとんど受けられなくなることがあります. このようなケースでは,アンロック状態にした後に,高速処理が行われる関数を可能な限り続けて呼び出し,最後にロック状態にするというような実装にして下さい.
#define SP_LOW_FLOAT_PRECISION SP_32BIT_PRECISION |
通常のfloat型より低精度です.
enum spPrecision |
計算精度を表す列挙型です.
enum spComputeSpeed |
計算速度を表す列挙型です.