VI_andVBI_andVSI_andVLI_andVQI_and 
VU_andVUB_andVUS_andVUL_andVUQ_andVUI_and
FunktionBit-weise "AND"-Operation
Syntax C/C++#include <VImath.h>
void VI_and( iVector Y, iVector X, ui size, int C );

    (analog alle übrigen Funktionen dieser Familie)
C++ VecObj#include <OptiVec.h>
void vector<T>::and( const vector<T>& X, const T& C );
Pascal/Delphiuses VImath;
procedure VI_and( Y, X:iVector; size:UIntSize; C:Integer );

    (analog alle übrigen Funktionen dieser Familie)
CUDA-Funktion C/C++#include <cudaVImath.h>
int cudaVI_and( iVector d_Y, iVector d_X, ui size, int C );
int cusdVI_and( iVector d_Y, iVector d_X, ui size, int *d_C );
void VIcu_and( iVector h_Y, iVector h_X, ui size, int C );
CUDA-Funktion Pascal/Delphiuses VImath;
function cudaVI_and( d_Y, d_X:iVector; size:UIntSize; C:Integer ): IntBool;
function cusdVI_and( d_Y, d_X:iVector; size:UIntSize; d_C:PInteger ): IntBool;
procedure VIcu_and( h_Y, h_X:iVector; size:UIntSize; C:Integer );
BeschreibungYi = (Xi) & C
Die bit-weise AND-Operation mit der in C definierten Bit-Maske wird auf alle Elemente i angewandt. Ein Bit von Yi wird gleich 1 gesetzt, wenn das entsprechende Bit sowohl in Xi als auch in C gleich 1 ist; andernfalls wird es gleich 0 gesetzt. Die vielleicht sinnvollste Anwendung der Funktionen dieser Familie ist die schnelle "modulo"-Operation vorzeichenloser oder positiver Zahlen mit einer ganzzahligen Potenz von 2 als Divisor. Beispielsweise wird eine modulo-Division durch 64 ausgeführt durch:
VU_and( Y, X, size, 64−1 );
Fehlerbehandlungkeine
Rückgabewertkeiner
QuerverweisVI_not,   VI_or,   VI_xor

VectorLib Inhaltsverzeichnis  OptiVec Home