VF_element | VD_element | VE_element |
VCF_element | VCD_element | VCE_element |
VCF_elementRe | VCD_elementRe | VCE_elementRe |
VCF_elementIm | VCD_elementIm | VCE_elementIm |
VPF_element | VPD_element | VPE_element |
VPF_elementMag | VPD_elementMag | VPE_elementMag |
VPF_elementArg | VPD_elementArg | VPE_elementArg |
VI_element | VBI_element | VSI_element | VLI_element | VQI_element | |
VU_element | VUB_element | VUS_element | VUL_element | VUQ_element | VUI_element |
|
Function | Returns the value of a vector element |
|
Syntax C/C++ | #include <VFstd.h>
float VF_element( fVector X, ui pos );
#include <VCFstd.h>
fComplex VCF_element( cfVector X, ui pos );
float VCF_elementRe( cfVector X, ui pos );
float VCF_elementIm( cfVector X, ui pos ); |
C++ VecObj | #include <OptiVec.h>
T vector<T>::element( ui pos );
complex<T> vector<complex<T>>::element( ui pos );
T vector<complex<T>>::elementRe( ui pos );
T vector<complex<T>>::elementIm( ui pos ); |
Pascal/Delphi | uses VFstd;
function VF_element( X:fVector; pos:UIntSize ): Single;
uses VCFstd;
function VCF_element( X:cfVector; pos:UIntSize ): fComplex;
function VCF_elementRe( X:cfVector; pos:UIntSize ): Single;
function VCF_elementIm( X:cfVector; pos:UIntSize ): Single; |
|
CUDA function C/C++ | #include <cudaVFstd.h>
float cudaVF_element( fVector d_X, ui pos );
#include <cudaVCFstd.h>
fComplex cudaVCF_element( cfVector d_X, ui pos );
float cudaVCF_elementRe( cfVector d_X, ui pos );
float cudaVCF_elementIm( cfVector d_X, ui pos );
|
CUDA function Pascal/Delphi | uses VFstd;
function cudaVF_element( d_X:fVector; pos:UIntSize ): Single;
uses VCFstd;
function cudaVCF_element( d_X:cfVector; pos:UIntSize ): fComplex;
function cudaVCF_elementRe( d_X:cfVector; pos:UIntSize ): Single;
function cudaVCF_elementIm( d_X:cfVector; pos:UIntSize ): Single;
|
|
Description | The element at the position pos, i.e. X[pos], is returned.
The complex versions come in three variants:
VCF_element returns the complex element X[pos],
VCF_elementRe returns X[pos].Re,
VCF_elementIm returns X[pos].Im.
These function is used to read elements of dynamically allocated vectors in Delphi and in CUDA. Note that the bracket notation, X[pos] does not work for dynamic OptiVec vectors in Pascal/Delphi; also, it does not work for vectors in CUDA device memory.
Additionally, they have to be used as a work-around for a bug in CLang, where extended-precision vector elements are not correctly accessed via the bracket notation X[pos].
VF_element is "read-only". This means, you c a n n o t write something like
VF_element( X, 4 ) := 5;
The correct function for write access is V?_setElement. |
|
|
|
|