VF_subvector | VD_subvector | VE_subvector |
VCF_subvector | VCD_subvector | VCE_subvector |
VPF_subvector | VPD_subvector | VPE_subvector |
VI_subvector | VBI_subvector | VSI_subvector | VLI_subvector | VQI_subvector | |
VU_subvector | VUB_subvector | VUS_subvector | VUL_subvector | VUQ_subvector | VUI_subvector |
|
Funktion | Unter-Vektor extrahieren |
|
Syntax C/C++ | #include <VFstd.h>
void VF_subvector( fVector Y, ui subsize, fVector X, int samp ); |
C++ VecObj | #include <OptiVec.h>
void vector<T>::subvector( const vector<T>& X, int samp, ui start=0 ); |
Pascal/Delphi | uses VFstd;
procedure VF_subvector( Y:fVector; sizey:UIntSize; X:fVector; samp:Integer ); |
|
CUDA-Funktion C/C++ | #include <cudaVFstd.h>
int cudaVF_subvector( fVector d_Y, ui subsize, fVector d_X, int samp );
void VFcu_subvector( fVector h_Y, ui subsize, fVector h_X, int samp );
|
CUDA-Funktion Pascal/Delphi | uses VFstd;
function cudaVF_subvector( d_Y:fVector; sizey:UIntSize; d_X:fVector; samp:Integer ): IntBool;
procedure VFcu_subvector( h_Y:fVector; sizey:UIntSize; h_X:fVector; samp:Integer );
|
|
Beschreibung | Yi = Xi*samp
Ein Subvektor Y wird mit konstantem Abtastintervall samp aus dem Vektor X extrahiert. Dabei werden, beginnend mit dem nullten Element von X, insgesamt subsize Elemente kopiert. Da für X eine Eingabe wie X+1000 (C/C++) oder VF_Pelement( XX, 1000 ) (Pascal/Delphi) stehen kann, sind für samp nicht nur positive, sondern auch negative sowie der triviale Wert 0 zulässig. X und Y müssen verschieden sein. Anstelle samp gleich 0, 1 oder −1 verwende man VF_equC, VF_equV bzw. VF_rev.
Die VecObj-Version wird mit einem zusätzlichen Argument start aufgerufen, das das Element von X angibt, mit dem begonnen werden soll. Dies ist notwendig, da Ausdrücke wie XX+1000 nur mit Zeigern möglich sind. In dem Klassen-basierten objekt-orientierten Interface würden sie aber als der operator + mißverstanden werden. |
|
|
|
|