VF_rotate | VD_rotate | VE_rotate |
VCF_rotate | VCD_rotate | VCE_rotate |
VPF_rotate | VPD_rotate | VPE_rotate |
VI_rotate | VBI_rotate | VSI_rotate | VLI_rotate | VQI_rotate | |
VU_rotate | VUB_rotate | VUS_rotate | VUL_rotate | VUQ_rotate | VUI_rotate |
|
Funktion | Rotation eines Vektors |
|
Syntax C/C++ | #include <VFstd.h>
void VF_rotate( fVector Y, fVector X, ui size, int pos ); |
C++ VecObj | #include <OptiVec.h>
void vector<T>::rotate( const vector<T> X, int pos ); |
Pascal/Delphi | uses VFstd;
procedure VF_rotate( Y, X:fVector; size:UIntSize; pos:Integer ); |
|
CUDA-Funktion C/C++ | #include <cudaVFstd.h>
int cudaVF_rotate( fVector d_Y, fVector d_X, ui size, int pos );
void VFcu_rotate( fVector h_Y, fVector h_X, ui size, int pos );
|
CUDA-Funktion Pascal/Delphi | uses VFstd;
function cudaVF_rotate( d_Y, d_X:fVector; size:UIntSize; pos:Integer ): IntBool;
procedure VFcu_rotate( h_Y, h_X:fVector; size:UIntSize; pos:Integer );
|
|
Beschreibung | Yi = Xsize-pos+i, i=0,..,pos−1
Yi = Xi-pos, i=pos,..,size−1
Der Ergebnisvektor entspricht dem um pos Positionen rotierten Eingangsvektor. Auf der einen Seite herausgeschobene Elemente werden auf der anderen Seite wieder hineingeschoben. Eine Rotation im Uhrzeigersinn wird für eine positive Verschiebung pos erzielt. Da diese Funktion intern bei jedem Aufruf Pufferspeicher vom Betriebssystem anfordern und wieder freigeben muss, ist sie nicht sonderlich effizient. Bei häufiger Verwendung empfiehlt sich ihr Ersatz durch VF_rotate_buf mit einem zuvor explizit reservierten Pufferspeicher. |
|
|
|
|