Adelsbach/VSIPL
Core Programming Reference Guide
DD-00016-015
Core
[
next
] [
prev
] [
prev-tail
] [
tail
] [
up
]
Contents
0.1
About this Guide
0.1.1
Legal Information
0.1.2
Feedback and Contact
0.2
Overview
0.2.1
Introduction
0.2.2
Link Libraries
0.3
General Functions
0.3.1
vsip_cstorage_
p
- Complex storage type
1
Support Functions
1.1
Initialization Functions
1.1.1
vsip_init
- Initialize
1.1.2
vsip_finalize
- Finalize
1.2
Block Support Functions
1.2.1
vsip_
d
blockcreate_
p
- Create a block
1.2.2
vsip_blockbind_
p
- Create a block using existing data
1.2.3
vsip_cblockbind_
p
- Create a block using existing data (complex)
1.2.4
vsip_blockrebind_
p
- Rebind existing block
1.2.5
vsip_cblockrebind_
p
- Rebind existing block (complex)
1.2.6
vsip_
d
blockadmit_
p
- Admit block data
1.2.7
vsip_blockfind_
p
- Get user data
1.2.8
vsip_cblockfind_
p
- Get user data (complex)
1.2.9
vsip_blockrelease_
p
- Release a block
1.2.10
vsip_cblockrelease_
p
- Release a block (complex)
1.2.11
vsip_
d
blockdestroy_
p
- Destroy a block
1.3
Vector View Support Functions
1.3.1
vsip_
d
vcreate_
p
- Create a Vector View
1.3.2
vsip_
d
vbind_
p
- Bind a Vector View to a Data Block
1.3.3
vsip_
d
vcloneview_
p
- Clone a Vector View
1.3.4
vsip_
d
vget_
p
- Get an Element from a Vector View
1.3.5
vsip_
d
vput_
p
- Set an Element in a Vector View
1.3.6
vsip_
d
vsubview_
p
- Create a Subview of a Vector View
1.3.7
vsip_vrealview_
p
- Get the Real Part View of a Complex Vector View
1.3.8
vsip_vimagview_
p
- Get the Imaginary Part View of a Complex Vector View
1.3.9
vsip_
d
vgetattrib_
p
- Get the Attributes of a Vector View
1.3.10
vsip_
d
vputattrib_
p
- Set the Attributes of a Vector View
1.3.11
vsip_
d
vgetblock_
p
- Get the Data Block of a Vector View
1.3.12
vsip_
d
vgetlength_
p
- Get the Length of a Vector View
1.3.13
vsip_
d
vputlength_
p
- Set the Length of a Vector View
1.3.14
vsip_
d
vgetstride_
p
- Get the Stride of a Vector View
1.3.15
vsip_
d
vputstride_
p
- Set the Stride of a Vector View
1.3.16
vsip_
d
vgetoffset_
p
- Get the Offset of a Vector View
1.3.17
vsip_
d
vputoffset_
p
- Set the Offset of a Vector View
1.3.18
vsip_
d
vdestroy_
p
- Destroy a Vector View
1.3.19
vsip_
d
valldestroy_
p
- Destroy a Vector View and Its Data Block
1.4
Matrix View Support Functions
1.4.1
vsip_
d
mcreate_
p
- Create a Matrix View
1.4.2
vsip_
d
mbind_
p
- Bind a Matrix View to a Block
1.4.3
vsip_
d
mcloneview_
p
- Clone a Matrix View
1.4.4
vsip_
d
mget_
p
- Get Matrix Element
1.4.5
vsip_
d
mput_
p
- Set Matrix Element
1.4.6
vsip_
d
msubview_
p
- Create a Submatrix View
1.4.7
vsip_
d
mtransview_
p
- Create a Transposed Matrix View
1.4.8
vsip_
d
mrowview_
p
- Create a Row Vector View of a Matrix
1.4.9
vsip_
d
mcolview_
p
- Create a Column Vector View of a Matrix
1.4.10
vsip_
d
mdiagview_
p
- Create a Diagonal Vector View of a Matrix
1.4.11
vsip_mrealview_
p
- Create a Real Part Matrix View
1.4.12
vsip_mimagview_
p
- Create an Imaginary Part Matrix View
1.4.13
vsip_
d
mgetattrib_
p
- Get Matrix Attributes
1.4.14
vsip_
d
mputattrib_
p
- Set Matrix Attributes
1.4.15
vsip_
d
mgetblock_
p
- Get the Data Block from a Matrix View
1.4.16
vsip_
d
mgetcollength_
p
- Get Number of Columns in a Matrix View
1.4.17
vsip_
d
mputcollength_
p
- Set Number of Columns in a Matrix View
1.4.18
vsip_
d
mgetrowlength_
p
- Get Number of Rows in a Matrix View
1.4.19
vsip_
d
mputrowlength_
p
- Set Number of Rows in a Matrix View
1.4.20
vsip_
d
mgetcolstride_
p
- Get Column Stride of a Matrix View
1.4.21
vsip_
d
mputcolstride_
p
- Set Column Stride of a Matrix View
1.4.22
vsip_
d
mgetrowstride_
p
- Get Row Stride of a Matrix View
1.4.23
vsip_
d
mputrowstride_
p
- Set Row Stride of a Matrix View
1.4.24
vsip_
d
mgetoffset_
p
- Get Matrix View Offset
1.4.25
vsip_
d
mputoffset_
p
- Set Matrix View Offset
1.4.26
vsip_
d
mdestroy_
p
- Destroy a Matrix View
1.4.27
vsip_
d
malldestroy_
p
- Destroy Matrix View and its Data Block
2
Scalar Functions
2.1
Complex Scalar Functions
2.1.1
vsip_arg_
p
- Compute Phase Angle of Complex Scalar
2.1.2
vsip_cmag_
p
- Compute Magnitude of Complex Scalar
2.1.3
vsip_cmagsq_
p
- Compute Magnitude Squared of Complex Scalar
2.1.4
vsip_conj_
p
- Compute Complex Conjugate
2.1.5
vsip_polar_
p
- Convert Cartesian to Polar Coordinates
2.1.6
vsip_rect_
p
- Convert Polar to Cartesian Coordinates
2.1.7
vsip_real_
p
- Complex Real part
2.1.8
vsip_imag_
p
- Complex Imaginary part
2.1.9
vsip_cmplx_
p
- Create complex number
2.1.10
vsip_cadd_
p
- Complex Scalar Addition
2.1.11
vsip_csub_
p
- Complex Scalar Subtraction
2.1.12
vsip_cmul_
p
- Complex Scalar Multiplication
2.1.13
vsip_cjmul_
p
- Complex Scalar Conjugate Multiplication
2.1.14
vsip_cdiv_
p
- Complex Scalar Division
2.1.15
vsip_rcadd_
p
- Real-Complex Scalar Addition
2.1.16
vsip_rcsub_
p
- Real-Complex Scalar Subtraction
2.1.17
vsip_rcmul_
p
- Real-Complex Scalar Multiplication
2.1.18
vsip_crsub_
p
- Complex-Real Scalar Subtraction
2.1.19
vsip_crdiv_
p
- Complex-Real Scalar Division
2.1.20
vsip_cneg_
p
- Complex Scalar Negation
2.1.21
vsip_crecip_
p
- Complex Scalar Reciprocal
2.1.22
vsip_csqrt_
p
- Complex Scalar Square Root
2.1.23
vsip_cexp_
p
- Complex Scalar Exponential
2.1.24
vsip_CONJ_
p
- Complex Scalar Conjugate and Store to Pointer
2.1.25
vsip_CMPLX_
p
- Create a Complex Scalar and Store in a Pointer
2.1.26
vsip_CADD_
p
- Complex Scalar Addition and Store to Pointer
2.1.27
vsip_CSUB_
p
- Complex Scalar Subtraction and Store to Pointer
2.1.28
vsip_CMUL_
p
- Complex Scalar Multiplication and Store to Pointer
2.1.29
vsip_CJMUL_
p
- Complex Scalar Conjugate Multiplication and Store to Pointer
2.1.30
vsip_CDIV_
p
- Complex Scalar Division and Store to Pointer
2.1.31
vsip_RCADD_
p
- Real-Complex Scalar Addition and Store to Pointer
2.1.32
vsip_RCSUB_
p
- Real-Complex Scalar Subtraction and Store to Pointer
2.1.33
vsip_RCMUL_
p
- Real-Complex Scalar Multiplication and Store to Pointer
2.1.34
vsip_CRSUB_
p
- Complex-Real Scalar Subtraction and Store to Pointer
2.1.35
vsip_CRDIV_
p
- Complex-Real Scalar Division and Store to Pointer
2.1.36
vsip_CNEG_
p
- Complex Scalar Negate and Store to Pointer
2.1.37
vsip_CRECIP_
p
- Complex Scalar Reciprocal and Store to Pointer
2.1.38
vsip_CSQRT_
p
- Complex Scalar Square Root and Store to Pointer
2.1.39
vsip_CEXP_
p
- Complex Scalar Exponential and Store to Pointer
2.2
Index Scalar Functions
2.2.1
vsip_matindex
- Convert Row/Column Indices to Matrix Index
2.2.2
vsip_mrowindex
- Extract Row Index from Matrix Index
2.2.3
vsip_mcolindex
- Extract Column Index from Matrix Index
2.2.4
vsip_MATINDEX
- Convert Row/Column Indices to Matrix Index and Store in a Pointer
3
Random Number Generation
3.1
Random Number Functions
3.1.1
vsip_randcreate
- Create a Random Number Generator State
3.1.2
vsip_randdestroy
- Destroy a Random Number Generator State
3.1.3
vsip_
d
vrandu_
p
- Generate Uniformly Distributed Random Numbers in a Vector View
3.1.4
vsip_
d
vrandn_
p
- Fill Vector with Normally Distributed Random Numbers
4
Vector and Elementwise Operations
4.1
Elementary Math Operations
4.1.1
vsip_vsin_
p
- Element-wise Sine of a Vector View
4.1.2
vsip_vasin_
p
- Element-wise Arcsine of a Vector View
4.1.3
vsip_vcos_
p
- Element-wise Cosine of a Vector View
4.1.4
vsip_vacos_
p
- Element-wise Arccosine of a Vector View
4.1.5
vsip_vtan_
p
- Element-wise Tangent of a Vector View
4.1.6
vsip_vatan_
p
- Element-wise Arctangent of a Vector View
4.1.7
vsip_vatan2_
p
- Element-wise Arctangent of Two Vector Views
4.1.8
vsip_
d
vexp_
p
- Element-wise Exponential of a Vector View
4.1.9
vsip_vexp10_
p
- Element-wise Base-10 Exponential of a Vector View
4.1.10
vsip_vlog_
p
- Element-wise Natural Logarithm of a Vector View
4.1.11
vsip_vlog10_
p
- Element-wise Base-10 Logarithm of a Vector View
4.1.12
vsip_
d
vsqrt_
p
- Element-wise Square Root of a Vector View
4.2
Unary Operations
4.2.1
vsip_
d
vneg_
p
- Negate Elements of a Vector View
4.2.2
vsip_vsumval_
p
- Compute the Sum of Elements in a Vector View
4.2.3
vsip_vsumsqval_
p
- Compute the Sum of Squares of Elements in a Vector View
4.2.4
vsip_
d
vmeanval_
p
- Compute Mean Value of Vector
4.2.5
vsip_
d
vmeansqval_
p
- Compute Mean of Squared Values
4.2.6
vsip_vsq_
p
- Square Elements of a Vector View
4.2.7
vsip_vrecip_
p
- Compute Reciprocal of Elements of a Vector View
4.2.8
vsip_
d
vmag_
p
- Compute Magnitude of Elements of a Vector View
4.2.9
vsip_vcmagsq_
p
- Element-wise Magnitude Squared of a Complex Vector View
4.2.10
vsip_cvconj_
p
- Element-wise Complex Conjugate of a Complex Vector View
4.2.11
vsip_veuler_
p
- Convert Real Vector to Complex Euler Representation
4.2.12
vsip_
d
vmodulate_
p
- Vector Modulation with Complex Carrier
4.2.13
vsip_
d
vrsqrt_
p
- Element-wise Reciprocal Square Root of a Vector View
4.3
Binary Operations
4.3.1
vsip_
d
vadd_
p
- Element-wise Addition of Two Vector Views
4.3.2
vsip_
d
vsub_
p
- Element-wise Subtraction of Two Vector Views
4.3.3
vsip_
d
vmul_
p
- Element-wise Multiplication of Two Vector Views
4.3.4
vsip_
d
vdiv_
p
- Element-wise Division of Two Vector Views
4.3.5
vsip_cvjmul_
p
- Element-wise Complex Conjugate Multiplication of Two Complex Vector Views
4.3.6
vsip_rcvadd_
p
- Element-wise Real-Complex Addition
4.3.7
vsip_rcvsub_
p
- Element-wise Real-Complex Subtraction
4.3.8
vsip_rcvmul_
p
- Element-wise Real-Complex Multiplication
4.3.9
vsip_crvsub_
p
- Element-wise Complex-Real Subtraction
4.3.10
vsip_
d
svadd_
p
- Add a Scalar to a Vector View
4.3.11
vsip_
d
svsub_
p
- Subtract a Scalar to a Vector View
4.3.12
vsip_
d
svmul_
p
- Multiply a Scalar by a Vector View
4.3.13
vsip_
d
svdiv_
p
- Divide a Scalar by a Vector View
4.3.14
vsip_rscvadd_
p
- Element-wise Real-Scalar-Complex Addition
4.3.15
vsip_rscvsub_
p
- Element-wise Real-Scalar-Complex Subtraction
4.3.16
vsip_rscvmul_
p
- Element-wise Real-Scalar-Complex Multiplication
4.3.17
vsip_
d
vmmul_
p
- Vector-Matrix Multiplication
4.3.18
vsip_rvcmmul_
p
- Real Vector-Complex Matrix Multiplication
4.3.19
vsip_
d
vexpoavg_
p
- Vector Exponential Average
4.3.20
vsip_vhypot_
p
- Vector Hypotenuse (Euclidean Norm)
4.4
Ternary Operations
4.4.1
vsip_
d
vam_
p
- Vector Add-Multiply
4.4.2
vsip_
d
vma_
p
- Vector Multiply-Add
4.4.3
vsip_
d
vmsb_
p
- Vector Multiply-Subtract
4.4.4
vsip_
d
vmsa_
p
- Vector Multiply-Scalar-Add
4.4.5
vsip_
d
vsam_
p
- Vector Vector-Add-Scalar-Multiply
4.4.6
vsip_
d
vsbm_
p
- Vector Subtract-Multiply
4.4.7
vsip_
d
vsma_
p
- Vector Vector-Scalar-Multiply-Add
4.4.8
vsip_
d
vsmsa_
p
- Vector Vector-Scalar-Multiply-Scalar-Add
4.5
Logical Operations
4.5.1
vsip_valltrue_
p
- Check if All Elements in Boolean Vector are True
4.5.2
vsip_vanytrue_
p
- Check if Any Element in Boolean Vector is True
4.5.3
vsip_vleq_
p
- Element-wise Equal Comparison
4.5.4
vsip_vlne_
p
- Element-wise Not-Equal Comparison
4.5.5
vsip_vllt_
p
- Element-wise Less-Than Comparison
4.5.6
vsip_vlle_
p
- Element-wise Lesser-Or-Equal-Than Comparison
4.5.7
vsip_vlgt_
p
- Element-wise Greater-Than Comparison
4.5.8
vsip_vlge_
p
- Element-wise Greater-Or-Equal-Than Comparison
4.6
Selection Operations
4.6.1
vsip_vclip_
p
- Clip Vector Elements Between Thresholds
4.6.2
vsip_vinvclip_
p
- Inverse Clip Vector Elements
4.6.3
vsip_vindexbool
- Find Indices of True Elements in Boolean Vector
4.6.4
vsip_vmaxval_
p
- Find the Maximum Value in a Vector View
4.6.5
vsip_vminval_
p
- Find the Minimum Value in a Vector View
4.6.6
vsip_vmax_
p
- Element-wise Maximum of Two Vector Views
4.6.7
vsip_vmin_
p
- Element-wise Minimum of Two Vector Views
4.6.8
vsip_vmaxmg_
p
- Element-wise Maximum of Magnitudes
4.6.9
vsip_vminmg_
p
- Element-wise Minimum of Magnitudes
4.6.10
vsip_vmaxmgval_
p
- Find Maximum Magnitude Value in Vector
4.6.11
vsip_vminmgval_
p
- Find Minimum Magnitude Value in Vector
4.6.12
vsip_vcmaxmg_
p
- Element-wise Maximum of Complex Vector Magnitudes
4.6.13
vsip_vcminmg_
p
- Element-wise Minimum of Complex Vector Magnitudes
4.6.14
vsip_vcmaxmgsqval_
p
- Find Maximum Magnitude Squared Value in Complex Vector
4.6.15
vsip_vcminmgsqval_
p
- Find Minimum Magnitude Squared Value in Complex Vector
4.7
Bitwise and Boolean Logical Operations
4.7.1
vsip_vnot_
p
- Boolean Vector Logical NOT
4.7.2
vsip_vand_
p
- Boolean Vector Logical AND
4.7.3
vsip_vor_
p
- Boolean Vector Logical OR
4.7.4
vsip_vxor_
p
- Boolean Vector Logical XOR
4.8
Element Generation Functions
4.8.1
vsip_
d
vfill_
p
- Fill a Vector View with a Scalar Value
4.8.2
vsip_vramp_
p
- Fill a Vector View with a Ramp
4.9
Copying Functions
4.9.1
vsip_
d
vcopy_
p
_
p
- Copy Vector Views
4.9.2
vsip_
d
mcopy_
p
- Copy Matrix Views
4.10
Manipulation Operations
4.10.1
vsip_vreal_
p
- Extract Real Part of a Complex Vector View
4.10.2
vsip_vimag_
p
- Extract Imaginary Part of a Complex Vector View
4.10.3
vsip_vcmplx_
p
- Create a Complex Vector View from Real and Imaginary Parts
4.10.4
vsip_
d
vgather_
p
- Gather Elements from a Vector
4.10.5
vsip_
d
vscatter_
p
- Scatter Elements to a Vector
4.10.6
vsip_
d
vswap_
p
- Swap Elements Between two Vectors
4.10.7
vsip_vrect_
p
- Convert Cartesian Coordinates to Complex Numbers
4.10.8
vsip_vpolar_
p
- Convert Polar Coordinates to Cartesian
5
Signal Processing Functions
5.1
FFT Functions
5.1.1
vsip_
dd
fftop_create_
p
- Create FFT Objects (Out-of-Place)
5.1.2
vsip_ccfftip_create_
p
- Create FFT Object (In-Place)
5.1.3
vsip_fft_destroy_
p
- Destroy an FFT Object
5.1.4
vsip_fft_getattr_
p
- Get FFT Object Attributes
5.1.5
vsip_
dd
fftop_
p
- Perform FFT Operations (Out-of-Place)
5.1.6
vsip_ccfftip_
p
- Perform FFT Operations (In-Place)
5.1.7
vsip_
dd
ffmop_create_
p
- Create Multiple-FFT Objects (Out-of-Place)
5.1.8
vsip_ccffmip_create_
p
- Create Multilpe-FFT Object (In-Place)
5.1.9
vsip_fftm_destroy_
p
- Destroy a Multiple-FFT Object
5.1.10
vsip_fftm_getattr_
p
- Get Multple-FFT Object Attributes
5.1.11
vsip_
dd
ffmop_
p
- Perform Multiple-FFT Operations (Out-of-Place)
5.1.12
vsip_ccffmip_
p
- Perform Multiple-FFT Operations (In-Place)
5.2
Convolution and Correlation Functions
5.2.1
vsip_
d
conv1d_create_
p
- Create 1D Convolution Object
5.2.2
vsip_
d
conv1d_destroy_
p
- Destroy 1D Convolution Object
5.2.3
vsip_
d
conv1d_getattr_
p
- Get 1D Convolution Object Attributes
5.2.4
vsip_
d
convolve1d_
p
- Perform 1D Convolution
5.2.5
vsip_
d
corr1d_create_
p
- Create 1D Correlation Object
5.2.6
vsip_
d
corr1d_destroy_
p
- Destroy 1D Correlation Object
5.2.7
vsip_
d
corr1d_getattr_
p
- Get 1D Correlation Object Attributes
5.2.8
vsip_
d
correlate1d_
p
- Compute 1D Correlation
5.3
Window Functions
5.3.1
vsip_vcreate_blackman_
p
- Create a Blackman Window Vector
5.3.2
vsip_vcreate_kaiser_
p
- Create a Kaiser Window Vector
5.3.3
vsip_vcreate_cheby_
p
- Create a Chebyshev Window Vector
5.3.4
vsip_vcreate_hanning_
p
- Create a Hanning Window Vector
5.4
FIR
5.4.1
vsip_
d
fir_create_
p
- Create a FIR Filter
5.4.2
vsip_
d
fir_reset_
p
- Reset a FIR Filter
5.4.3
vsip_
d
fir_getattr_
p
- Get Attributes of a FIR Filter
5.4.4
vsip_
d
firflt_
p
- Apply a FIR Filter to a Vector View
5.4.5
vsip_
d
fir_destroy_
p
- Destroy a FIR Filter
5.5
Miscellaneous Signal Processing Functions
5.5.1
vsip_vhisto_
p
- Compute Histogram of a Vector View
6
Linear Algebra Functions
6.1
Matrix and Vector Operations
6.1.1
vsip_
d
vdot_
p
- Compute the Dot Product of Two Vector Views
6.1.2
vsip_cvjdot_
p
- Compute the Conjugate Dot Product of Two Complex Vector Views
6.1.3
vsip_
d
vouter_
p
- Outer Product of Two Vectors
6.1.4
vsip_
d
mtrans_
p
- Matrix Transposition
6.1.5
vsip_cmherm_
p
- Matrix Hermitian
6.1.6
vsip_
d
gemp_
p
- General Matrix Product
6.1.7
vsip_
d
gems_
p
- General Matrix Scaling and Addition
6.1.8
vsip_
d
vmprod_
p
- Vector-Matrix Product
6.1.9
vsip_
d
mvprod_
p
- Matrix-Vector Product
6.1.10
vsip_
d
mprod_
p
- Matrix-Matrix Product
6.1.11
vsip_
d
mprodt_
p
- Matrix-Matrix Product with Transposition
6.1.12
vsip_cmprodh_
p
- Complex Matrix Product with Hermitian Transpose
6.1.13
vsip_cmprodj_
p
- Complex Matrix Product with Conjugate
6.2
Special Linear Solvers
6.2.1
vsip_
d
toepsol_
p
- Solve a Toeplitz System of Equations
6.2.2
vsip_
d
covsol_
p
- Solve a Covariance System of Equations
6.2.3
vsip_
d
llsqsol_
p
- Solve Linear Least Squares Problem
6.3
General Linear Square System Solver
6.3.1
vsip_
d
lud_create_
p
- Create LU Decomposition Object
6.3.2
vsip_
d
lud_destroy_
p
- Destroy LU Decomposition Object
6.3.3
vsip_
d
lud_getattr_
p
- Get LU Decomposition Attributes
6.3.4
vsip_
d
lud_
p
- Perform LU Decomposition
6.3.5
vsip_
d
lusol_
p
- Solve Linear System Using LU Decomposition
6.4
Symmetric Positive Definite Linear System Solver
6.4.1
vsip_
d
chold_create_
p
- Create Cholesky Decomposition Object
6.4.2
vsip_
d
chold_destroy_
p
- Destroy Cholesky Decomposition Object
6.4.3
vsip_
d
chold_getattr_
p
- Get Cholesky Decomposition Attributes
6.4.4
vsip_
d
chold_
p
- Perform Cholesky Decomposition
6.4.5
vsip_
d
cholsol_
p
- Solve Linear Systems Using Cholesky Decomposition
6.5
Over-determined Linear System Solver
6.5.1
vsip_
d
qrd_create_
p
- Create QR Decomposition Object
6.5.2
vsip_
d
qrd_destroy_
p
- Destroy QR Decomposition Object
6.5.3
vsip_
d
qrd_getattr_
p
- Get QR Decomposition Attributes
6.5.4
vsip_
d
qrd_
p
- Perform QR Decomposition
6.5.5
vsip_
d
qrsol_
p
- Solve Linear Systems Using QR Decomposition
6.5.6
vsip_
d
qrdsolr_
p
- Solve Linear Systems with Modified R Matrix
6.5.7
vsip_
d
qrdprodq_
p
- Multiply by Q Matrix from QR Decomposition
0.1
About this Guide
0.1.1
Legal Information
0.1.2
Feedback and Contact
0.2
Overview
0.2.1
Introduction
0.2.2
Link Libraries
0.3
General Functions
0.3.1
vsip_cstorage_
p
- Complex storage type
[
next
] [
prev
] [
prev-tail
] [
front
] [
up
]