|
spLib
|
Vector type that contains the elements of double type. More...
#include <sp/vector.h>

Public Member Functions | |
Text I/O for Vector (<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) |
Vector Modification for I/O (<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) |
Vector Dump (<sp/fileio.h>) | |
| void | dvdump (spDVector vec) |
| void | dvfdump (spDVector vec, FILE *fp) |
| void | dvnfdump (FILE *fp,...) |
Memory Allocation and Deallocation | |
| 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) |
Lock and Unlock | |
| 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) |
Complex Number Handling | |
| 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) |
Data Copy | |
| 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) |
Data Initialization | |
| 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) |
Data Editing | |
| 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) |
Data Modification | |
| 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) |
Absolute Value (<sp/vmath.h>) | |
| void | dvabs (spDVector x) |
| spDVector | xdvabs (spDVector x) |
Square Root (<sp/vmath.h>) | |
| void | dvsqrt (spDVector x) |
| spDVector | xdvsqrt (spDVector x) |
Square (<sp/vmath.h>) | |
| void | dvsquare (spDVector x) |
| spDVector | xdvsquare (spDVector x) |
Sign Function (<sp/vmath.h>) | |
| void | dvsign (spDVector x) |
| spDVector | xdvsign (spDVector x) |
Cumulative Sum (<sp/vmath.h>) | |
| void | dvcumsum (spDVector x) |
| spDVector | xdvcumsum (spDVector x) |
Cumulative Product (<sp/vmath.h>) | |
| void | dvcumprod (spDVector x) |
| spDVector | xdvcumprod (spDVector x) |
Differences (<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); |
Sum (<sp/vmath.h>) | |
| double | dvsum (spDVector x) |
| double | dvisum (spDVector x) |
| double | dvsqsum (spDVector x) |
| double | dvabssum (spDVector x) |
Product (<sp/vmath.h>) | |
| double | dvprod (spDVector x) |
| double | dvriprod (spDVector x, double *oiprod) |
Norm (<sp/vmath.h>) | |
| double | dvnorm (spDVector x, long p) |
Dot Product (<sp/vmath.h>) | |
| double | dvdot (spDVector x, spDVector y) |
| void | dvcplxdot (spDVector x, spDVector y, double *re, double *im) |
Mean and Variance (<sp/vmath.h>) | |
| double | dvvar (spDVector x, double *mean) |
| double | dvstd (spDVector x, double *mean) |
| #define | dvmean(x) (dvsum(x) / (double)x->length) |
Minimum and Maximum (<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) |
Sort and Median (<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) |
Zero-Crossing Count (<sp/vmath.h>) | |
| long | dvzerocross (spDVector x, int slope_sign) |
Phase Angle (<sp/vmath.h>) | |
| void | dvangle (spDVector x) |
| spDVector | xdvangle (spDVector x) |
Trigonometric functions (<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) |
Exponents and Logarithms (<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) |
Random Number (<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) |
Vector Operation (<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) |
Element Reorder (<sp/voperate.h>) | |
| spDVector | xdvremap (spDVector x, spLVector map) |
Element Extraction (<sp/voperate.h>) | |
| spLVector | xdvfind (spDVector x) |
| spDVector | xdvfindv (spDVector x) |
Element Comparison (<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) |
Blackman Window for Vector (<sp/window.h>) | |
| spDVector | xdvblackmanul (spPlugin *plugin, long length, spBool unlock_flag) |
| spDVector | xdvblackman (long length) |
| spDVector | xdvnblackmanul (spPlugin *plugin, long length, spBool unlock_flag) |
| spDVector | xdvnblackman (long length) |
Hamming Window for Vector (<sp/window.h>) | |
| spDVector | xdvhammingul (spPlugin *plugin, long length, spBool unlock_flag) |
| spDVector | xdvhamming (long length) |
| spDVector | xdvnhammingul (spPlugin *plugin, long length, spBool unlock_flag) |
| spDVector | xdvnhamming (long length) |
Hanning Window for Vector (<sp/window.h>) | |
| spDVector | xdvhanningul (spPlugin *plugin, long length, spBool unlock_flag) |
| spDVector | xdvhanning (long length) |
| spDVector | xdvnhanningul (spPlugin *plugin, long length, spBool unlock_flag) |
| spDVector | xdvnhanning (long length) |
Hann Window for Vector (<sp/window.h>) | |
| spDVector | xdvhannul (spPlugin *plugin, long length, spBool unlock_flag) |
| spDVector | xdvhann (long length) |
| spDVector | xdvnhannul (spPlugin *plugin, long length, spBool unlock_flag) |
| spDVector | xdvnhann (long length) |
Gaussian Window for Vector (<sp/window.h>) | |
| spDVector | xdvgausswinexul (spPlugin *plugin, long length, double alpha, spBool unlock_flag) |
| spDVector | xdvgausswinex (long length, double alpha) |
| spDVector | xdvgausswinul (spPlugin *plugin, long length, spBool unlock_flag) |
| spDVector | xdvgausswin (long length) |
| spDVector | xdvngausswinexul (spPlugin *plugin, long length, double alpha, spBool unlock_flag) |
| spDVector | xdvngausswinex (long length, double alpha) |
| spDVector | xdvngausswinul (spPlugin *plugin, long length, spBool unlock_flag) |
| spDVector | xdvngausswin (long length) |
Rectangular Window for Vector (<sp/window.h>) | |
| spDVector | xdvnboxcarul (spPlugin *plugin, long length, spBool unlock_flag) |
| spDVector | xdvnboxcar (long length) |
Data Fields | |
| long | length |
| double * | data |
| double * | imag |
Related Symbols | |
(Note that these are not member symbols.) | |
| #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) |
File I/O for Vector (<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) |
Vector type that contains the elements of double type.
Actually, This is a typedefed type by typedef struct _spDVector *spDVector;. To allocate memory for spDVector, call a function with prefix xdv such as xdvalloc() , xdvinit() , etc. To deallocate memory, call xdvfree() .
Allocates memory for spDVector and sets it in the lock/unlock state.
Allocates memory for spDVector and updates its lock/unlock state by using the status of the input vector.
Allocates memory of both the real and imaginary parts for spDVector and sets it in the lock/unlock state.
| spDVector xdvrialloc | ( | long | length | ) |
Allocates memory of both the real and imaginary parts for spDVector.
Expands the size of the vector and resets the expanded elements to 0.
x for success, SP_NODATA for failure. Checks whether the vector is ready for plugin-based computation.
Sets the vector in the locked/unlocked state without data synchronization.
Synchronizes the vector data (->data and ->imag) with the internal data without changing the locked/unlocked state.
Creates a new vector whose real and imaginary parts are xr and xi , respectively.
| void dvreal | ( | spDVector | x | ) |
Deallocates the imaginary part of x if it exists.
| void dvimag | ( | spDVector | x | ) |
Sets the imaginary part of x as the real part.
| void dvconj | ( | spDVector | x | ) |
Takes the complex conjugate of x.
| void dvriswap | ( | spDVector | x | ) |
Swaps the real part of x for the imaginary part.
Creates a new vector whose real and imaginary parts are the imaginary and real parts of x respectively.
Copies data of x to y . The imaginary part of x is not copied unless y->imag != NULL.
Copies data of the real part of x to the imaginary part of y .
Copies data of the imaginary part of x to the real part of y .
| long dvcopyfromarray | ( | spDVector | y, |
| long | y_offset, | ||
| double * | data, | ||
| long | length ) |
Copies data of the array data to the target location y_offset of y .
| long dvcopyfromriarray | ( | spDVector | y, |
| long | y_offset, | ||
| double * | data, | ||
| double * | imag, | ||
| long | length ) |
Copies the complex array of the real part data and the imaginary part imag to the target location y_offset of y .
| long dvcopytoarray | ( | spDVector | x, |
| long | x_offset, | ||
| double * | data, | ||
| long | length ) |
Copies data extracted from x_offset of x to the array data .
| long dvcopytoriarray | ( | spDVector | x, |
| long | x_offset, | ||
| double * | data, | ||
| double * | imag, | ||
| long | length ) |
Copies data extracted from x_offset of x to the complex array of the real part data and the imaginary part imag .
Appends data of y to a new vector which is a clone of x.
Initialize the vector x so that the elements range from m to n using incr as the increment between elements.
| spDVector xdvinit | ( | double | m, |
| double | incr, | ||
| double | n ) |
Creates a new vector ranging from m to n using incr as the increment between elements.
Creates a new plugin-based vector ranging from m to n using incr as the increment between elements.
Initialize the imaginary part of the vector x so that the elements range from m to n using incr as the increment between elements.
Initialize the real and imaginary parts of the vector x so that the elements of both parts range from m to n using incr as the increment between elements.
| spDVector xdvriinit | ( | double | m, |
| double | incr, | ||
| double | n ) |
Creates a new vector whose real and imaginary parts range from m to n using incr as the increment between elements.
Creates a new plugin-based vector whose real and imaginary parts range from m to n using incr as the increment between elements.
Extracts data of length from offset of x .
Pastes data of x cropped with x_length to the target location y_offset of y . The argument overlap determines whether the overlap addition is performed in pasting data.
| long dvadd | ( | spDVector | y, |
| long | y_offset, | ||
| spDVector | x, | ||
| long | x_offset, | ||
| long | x_length, | ||
| spBool | overlap ) |
Pastes data of x_length extracted from x_offset of x to the target location y_offset of y . The argument overlap determines whether the overlap addition is performed in pasting data.
Erases data of length from offset . The argument inv determines whether the erasing location is inverted.
| void dvset | ( | spDVector | x, |
| double * | data, | ||
| long | length ) |
Sets the address of data to x->data .
| void dviset | ( | spDVector | x, |
| double * | imag, | ||
| long | length ) |
Sets the address of imag to x->imag .
Sets the address of data to data of a plugin-based new vector.
| spDVector xdvset | ( | double * | data, |
| long | length ) |
Sets the address of data to data of a new vector.
| spDVector xdvsetnew | ( | double * | data, |
| long | length ) |
Creates a new vector whose real part is a clone of data .
Copies a value to the location of index of the real part of x .
Copies a value to the location of index of the imaginary part of x .
Initialize the vector x so that the elements within length are all value .
Initialize the vector x so that the elements within length are all zeros.
Initialize the vector x so that the elements within length are all ones.
Initialize the imaginary part of the vector x so that the elements within length are all value .
Initialize the imaginary part of the vector x so that the elements within length are all zeros.
Initialize the imaginary part of the vector x so that the elements within length are all ones.
Initialize the real and imaginary parts of the vector x so that the elements of both parts are all value .
Initialize the real and imaginary parts of the vector x so that the elements of both parts are all zeros.
Initialize the real and imaginary parts of the vector x so that the elements of both parts are all ones.
Creates a new vector whose elements within length are all value .
|
related |
Creates a new plugin-based vector whose elements within length are all value .
Creates a new vector whose elements within length are all zeros.
|
related |
Creates a new plugin-based vector whose elements within length are all zeros.
Creates a new vector whose elements within length are all ones.
|
related |
Creates a new plugin-based vector whose elements within length are all ones.
|
related |
Creates a new null vector.
|
related |
Creates a new null plugin-based vector.
Creates a new vector whose real and imaginary parts are all value .
|
related |
Creates a new plugin-based vector whose real and imaginary parts are all value .
Creates a new vector whose real and imaginary parts are all zeros.
|
related |
Creates a new plugin-based vector whose real and imaginary parts are all zeros.
Creates a new vector whose real and imaginary parts are all ones.
|
related |
Creates a new plugin-based vector whose real and imaginary parts are all ones.
|
related |
Sets x->data to NULL.
|
related |
Sets x->imag to NULL.
| long length |
The number of elements of spDVector. You can access the number of elements as x->length for the memory allocated x of spDVector.
| double* data |
Data of the real part of spDVector. You can access the 0-th element of the data as x->data[0] for the memory allocated x of spDVector.