VF_subVVD_subVVE_subV
VCF_subVVCD_subVVCE_subV
VCF_subReVVCD_subReVVCE_subReV
VFs_subVVDs_subVVEs_subV
VFx_subVVDx_subVVEx_subV
VCFx_subVVCDx_subVVCEx_subV
VCFx_subReVVCDx_subReVVCEx_subReV
VI_subVVBI_subVVSI_subVVLI_subVVQI_subV 
VU_subVVUB_subVVUS_subVVUL_subVVUQ_subVVUI_subV
FunctionSubtract two vectors
Syntax C/C++#include <VFmath.h>
void VF_subV( fVector Z, fVector X, fVector Y, ui size );
void VFs_subV( fVector Z, fVector X, fVector Y, ui size, float C );
void VFx_subV( fVector Z, fVector X, fVector Y, ui size, float A, float B );
void VCF_subV( cfVector Z, cfVector X, cfVector Y, ui size );
void VCF_subReV( cfVector Z, cfVector X, fVector Y, ui size );
void VCFx_subV( cfVector Z, cfVector X, cfVector Y, ui size, fComplex A, fComplex B );
void VCFx_subReV( cfVector Z, cfVector X, fVector Y, ui size, fComplex A, fComplex B );
C++ VecObj#include <OptiVec.h>
void vector<T>::subV( const vector<T>& X, const vector<T>& Y );
void vector<T>::s_subV( const vector<T>& X, const vector<T>& Y, const T& C );
void vector<T>::x_subV( const vector<T>& X, const vector<T>& Y, const T& A, const T& B );
void vector<complex<T>>::subV( const vector<complex<T>>& X, const vector<complex<T>>& Y );
void vector<complex<T>>::subReV( const vector<complex<T>>& X, const vector<T>& Y );
void vector<complex<T>>::x_subV( const vector<complex<T>>& X, const vector<complex<T>>& Y, complex<T> A, complex<T> B );
void vector<complex<T>>::x_subReV( const vector<complex<T>>& X, const vector<T>& Y, complex<T> A, complex<T> B );
Pascal/Delphiuses VFmath;
procedure VF_subV( Z, X, Y:fVector; size:UIntSize );
procedure VFx_subV( Z, X, Y:fVector; size:UIntSize; A, B:Single);
procedure VCF_subV( Z, X, Y:cfVector; size:UIntSize );
procedure VCF_subReV( Z, X:cfVector; Y:fVector; size:UIntSize );
procedure VCFx_subV( Z, X, Y:cfVector; size:UIntSize; A, B:fComplex );
procedure VCFx_subrReV( Z, X:cfVector; Y:fVector; size:UIntSize; A, B:fComplex );
CUDA function C/C++#include <cudaVFmath.h>
#include <cudaVCFmath.h>
int cudaVF_subV( fVector d_Z, fVector d_X, fVector d_Y,ui size );
int cudaVFs_subV( fVector d_Z, fVector d_X, fVector d_Y, ui size, float C );
int cusdVFs_subV( fVector d_Z, fVector d_X, fVector d_Y, ui size, float *d_C );
int cudaVFx_subV( fVector d_Z, fVector d_X, fVector d_Y, ui size, float A, float B );
int cusdVFx_subV( fVector d_Z, fVector d_X, fVector d_Y, ui size, float *d_A, float *d_B );
int cudaVCF_subReV( cfVector d_Z, cfVector d_X, fVector d_Y, ui size );
int cudaVCFx_subReV( cfVector d_Z, cfVector d_X, fVector d_Y, ui size, fComplex A, fComplex B );
int cusdVCFx_subReV( cfVector d_Z, cfVector d_X, fVector d_Y, ui size, fComplex *d_A, fComplex *d_B );
void VFcu_subV( fVector h_Z, fVector h_X, fVector h_Y,ui size );
void VFscu_subV( fVector h_Z, fVector h_X, fVector h_Y, ui size, float C );
void VFxcu_subV( fVector h_Z, fVector h_X, fVector h_Y, ui size, float A, float B );
void VCFcu_subReV( cfVector h_Z, cfVector h_X, fVector h_Y, ui size );
void VCFxcu_subV( cfVector h_Z, cfVector h_X, cfVector h_Y, ui size, fComplex A, fComplex B );
void VCFxcu_subReV( cfVector h_Z, cfVector h_X, fVector h_Y, ui size, fComplex A, fComplex B );
CUDA function Pascal/Delphiuses VFmath, VCFmath;
function cudaVF_subV( d_Z, d_X, d_Y:fVector; size:UIntSize ): IntBool;
function cudaVFs_subV( d_Z, d_X, d_Y:fVector; size:UIntSize; C:Single ): IntBool;
function cusdVFs_subV( d_Z, d_X, d_Y:fVector; size:UIntSize; d_C:PSingle ): IntBool;
function cudaVFx_subV( d_Z, d_X, d_Y:fVector; size:UIntSize; A, B:Single ): IntBool;
function cusdVFx_subV( d_Z, d_X, d_Y:fVector; size:UIntSize; d_A, d_B:PSingle ): IntBool;
function cudaVCF_subReV( d_Z, d_X:cfVector; d_Y:fVector; size:UIntSize ): IntBool;
function cudaVCFx_subReV( d_Z, d_X:cfVector; d_Y:fVector; size:UIntSize; A, B:fComplex ): IntBool;
function cusdVCFx_subReV( d_Z, d_X:cfVector; d_Y:fVector; size:UIntSize; d_A, d_B:PfComplex ): IntBool;
procedure VFcu_subV( h_Z, h_X, h_Y:fVector; size:UIntSize );
procedure VFscu_subV( h_Z, h_X, h_Y:fVector; size:UIntSize; C:Single );
procedure VFxcu_subV( h_Z, h_X, h_Y:fVector; size:UIntSize; A, B:Single );
procedure VCFcu_subReV( h_Z, h_X:cfVector; h_Y:fVector; size:UIntSize );
procedure VCFxcu_subReV( h_Z, h_X:cfVector; h_Y:fVector; size:UIntSize; A, B:fComplex );
Descriptionsimple 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_subV,   VCFx_subV), X, Y, and Z are all complex; in the second variant, Y is real-valued (e.g., VCF_subReV - "subtract a real vector").
Error handlingfloating-point versions: none;
integer versions: see chapter 5.2.
Return valuenone
See alsoVF_subC,   VF_addV,   VF_mulV,   VF_divV,   VF_subVI

VectorLib Table of Contents  OptiVec home