VI_accV | VBI_accV | VSI_accV | VLI_accV | VQI_accV | |
VU_accV | VUB_accV | VUS_accV | VUL_accV | VUQ_accV | VUI_accV |
VCD_accVCF | VCE_accVCF | VCE_accVCD |
VLI_accVBI | VLI_accVSI | VLI_accVI | |
VUL_accVUB | VUL_accVUS | VUL_accVU | |
VUQ_accVUB | VUQ_accVUS | VUQ_accVU | VUQ_accVUL | |
VUI_accVUB | VUI_accVUS | VUI_accVU | VUI_accVUL | VUI_accVUQ |
VQI_accVBI | VQI_accVSI | VQI_accVI | VQI_accVLI | |
VQI_accVUB | VQI_accVUS | VQI_accVU | VQI_accVUL | VQI_accVUI |
...accVI | ...accVBI | ...accVSI | ...accVLI | ...accVQI | |
...accVU | ...accVUB | ...accVUS | ...accVUL | ...accVUQ | ...accVUI |
|
Function | Accumulation (corresponds to the += operator) |
|
Syntax C/C++ | #include <VFmath.h>
void VF_accV( fVector Y, fVector X, ui size );
void VD_accVF( dVector Y, fVector X, ui size ); |
C++ VecObj | #include <OptiVec.h>
void vector<T>::accV( const vector<T>& X );
void vector<double>::accVF( const vector<float>& X ); |
Pascal/Delphi | uses VFmath;
procedure VF_accV( Y, X:fVector; size:UIntSize );
procedure VD_accVF( Y:dVector; X:fVector; size:UIntSize ); |
|
CUDA function C/C++ | #include <cudaVFmath.h>
#include <cudaVDmath.h>
int cudaVF_accV( fVector d_Y, fVector d_X, ui size );
int cudaVD_accVF( dVector d_Y, fVector d_X, ui size );
void VFcu_accV( fVector h_Y, fVector h_X, ui size );
void VDcu_accVF( dVector h_Y, fVector h_X, ui size );
|
CUDA function Pascal/Delphi | uses VFmath, VDmath;
function cudaVF_accV( d_Y, d_X:fVector; size:UIntSize ): IntBool;
function cudaVD_accVF( d_Y:dVector; d_X:fVector; size:UIntSize ): IntBool;
procedure VFcu_accV( h_Y, h_X:fVector; size:UIntSize );
procedure VDcu_accVF( h_Y:dVector; h_X:fVector; size:UIntSize );
|
|
Description | Yi += Xi
This family of functions consists of two groups. The first group is made up of the normal, same-type versions, like VF_accV.
The much larger second group allows to add a lower-accuracy type vector to a higher-accuracy type vector, like VD_accVF. For the integer types, only the highest one, quad, is used to accumulate both signed and unsigned types. The 16-bit and 32-bit integer types can accumulate only the lower types of the same sort, signed or unsigned. All integer types can be accumulated in any of the three floating-point types. |
|
|
|
|