VCF_addReV | VCD_addReV | VCE_addReV |
VCFx_addV | VCDx_addV | VCEx_addV |
VCFx_addReV | VCDx_addReV | VCEx_addReV |
VI_addV | VBI_addV | VSI_addV | VLI_addV | VQI_addV | |
VU_addV | VUB_addV | VUS_addV | VUL_addV | VUQ_addV | VUI_addV |
|
|
Syntax C/C++ | #include <VFmath.h>
void VF_addV( fVector Z, fVector X, fVector Y,ui size );
void VFs_addV( fVector Z, fVector X, fVector Y, ui size, float C );
void VFx_addV( fVector Z, fVector X, fVector Y, ui size, float A, float B );
(similarly VD_, VDx_, VE_, VEx_, VI_, etc.)
void VCF_addV( cfVector Z, cfVector X, cfVector Y, ui size );
void VCF_addReV( cfVector Z, cfVector X, fVector Y, ui size );
void VCFx_addV( cfVector Z, cfVector X, cfVector Y, ui size, fComplex A, fComplex B );
void VCFx_addReV( cfVector Z, cfVector X, fVector Y, ui size, fComplex A, fComplex B );
(similarly VCD_, VCDx_, VCE_, VCEx_) |
C++ VecObj | #include <OptiVec.h>
void vector<T>::addV( const vector<T>& X, const vector<T>& Y );
void vector<T>::s_addV( const vector<T>& X, const vector<T>& Y, const T& C );
void vector<T>::x_addV( const vector<T>& X, const vector<T>& Y, const T& A, const T& B );
void vector<complex<T>>::addV( const vector<complex<T>>& X, const vector<complex<T>>& Y );
void vector<complex<T>>::addReV( const vector<complex<T>>& X, const vector<T>& Y );
void vector<complex<T>>::x_addV( const vector<complex<T>>& X, const vector<complex<T>>& Y, complex<T> A, complex<T> B );
void vector<complex<T>>::x_addReV( const vector<complex<T>>& X, const vector<T>& Y, complex<T> A, complex<T> B ); |
Pascal/Delphi | uses VFmath;
procedure VF_addV( Z, X, Y:fVector; size:UIntSize );
procedure VFs_addV( Z, X, Y:fVector; size:UIntSize; C:Single );
procedure VFx_addV( Z, X, Y:fVector; size:UIntSize; A, B:Single );
(similarly VD_, VDx_, VE_, VEx_, VI_, etc.)
procedure VCF_addV( Z, X, Y:cfVector; size:UIntSize );
procedure VCF_addReV( Z, X:cfVector; Y:fVector; size:UIntSize );
procedure VCFx_addV( Z, X, Y:cfVector; size:UIntSize; A, B:fComplex );
procedure VCFx_addReV( Z, X:cfVector; Y:fVector; size:UIntSize; A, B:fComplex );
(similarly VCD_, VCDx_, VCE_, VCEx_) |
|
CUDA function C/C++ | #include <cudaVFmath.h>
#include <cudaVCFmath.h>
int cudaVF_addV( fVector d_Z, fVector d_X, fVector d_Y,ui size );
int cudaVFs_addV( fVector d_Z, fVector d_X, fVector d_Y, ui size, float C );
int cusdVFs_addV( fVector d_Z, fVector d_X, fVector d_Y, ui size, float *d_C );
int cudaVFx_addV( fVector d_Z, fVector d_X, fVector d_Y, ui size, float A, float B );
int cusdVFx_addV( fVector d_Z, fVector d_X, fVector d_Y, ui size, float *d_A, float *d_B );
int cudaVCF_addReV( cfVector d_Z, cfVector d_X, fVector d_Y, ui size );
int cudaVCFx_addReV( cfVector d_Z, cfVector d_X, fVector d_Y, ui size, fComplex A, fComplex B );
int cusdVCFx_addReV( cfVector d_Z, cfVector d_X, fVector d_Y, ui size, fComplex *d_A, fComplex *d_B );
void VFcu_addV( fVector h_Z, fVector h_X, fVector h_Y,ui size );
void VFscu_addV( fVector h_Z, fVector h_X, fVector h_Y, ui size, float C );
void VFxcu_addV( fVector h_Z, fVector h_X, fVector h_Y, ui size, float A, float B );
void VCFcu_addReV( cfVector h_Z, cfVector h_X, fVector h_Y, ui size );
void VCFxcu_addV( cfVector h_Z, cfVector h_X, cfVector h_Y, ui size, fComplex A, fComplex B );
void VCFxcu_addReV( cfVector h_Z, cfVector h_X, fVector h_Y, ui size, fComplex A, fComplex B );
|
CUDA function Pascal/Delphi | uses VFmath, VCFmath;
function cudaVF_addV( d_Z, d_X, d_Y:fVector; size:UIntSize ): IntBool;
function cudaVFs_addV( d_Z, d_X, d_Y:fVector; size:UIntSize; C:Single ): IntBool;
function cusdVFs_addV( d_Z, d_X, d_Y:fVector; size:UIntSize; d_C:PSingle ): IntBool;
function cudaVFx_addV( d_Z, d_X, d_Y:fVector; size:UIntSize; A, B:Single ): IntBool;
function cusdVFx_addV( d_Z, d_X, d_Y:fVector; size:UIntSize; d_A, d_B:PSingle ): IntBool;
function cudaVCF_addReV( d_Z, d_X:cfVector; d_Y:fVector; size:UIntSize ): IntBool;
function cudaVCFx_addReV( d_Z, d_X:cfVector; d_Y:fVector; size:UIntSize; A, B:fComplex ): IntBool;
function cusdVCFx_addReV( d_Z, d_X:cfVector; d_Y:fVector; size:UIntSize; d_A, d_B:PfComplex ): IntBool;
procedure VFcu_addV( h_Z, h_X, h_Y:fVector; size:UIntSize );
procedure VFscu_addV( h_Z, h_X, h_Y:fVector; size:UIntSize; C:Single );
procedure VFxcu_addV( h_Z, h_X, h_Y:fVector; size:UIntSize; A, B:Single );
procedure VCFcu_addReV( h_Z, h_X:cfVector; h_Y:fVector; size:UIntSize );
procedure VCFxcu_addReV( h_Z, h_X:cfVector; h_Y:fVector; size:UIntSize; A, B:fComplex );
|
|
Description | simple versions: Zi = Xi + Yi
scaled versions: Zi = C * (Xi + Yi)
expanded versions: Zi = (A * Xi + B) + Yi
The complex floating-point versions exist in two variants. In the first variant (e.g.VCF_addV, VCFx_addV), X, Y, and Z are all complex; in the second variant, Y is real-valued (e.g., VCF_addReV - "add a real vector"). |
|
Error handling | floating-point versions: none;
integer versions: see chapter 5.2. |
|
|
|