VF_absVD_absVE_abs
VCF_absVCD_absVCE_abs
VPF_absVPD_absVPE_abs
VI_absVBI_absVSI_absVLI_absVQI_abs
FunktionAbsolutwert
Syntax C/C++#include <VFmath.h>
int VF_abs( fVector Y, fVector X, ui size );

    (analog VD_,   VE_,   VBI_,   VSI_,   VI_,   VLI_,   VQI_)
int VCF_abs( fVector Y, cfVector X, ui size );
    (analog VCD_,   VCE_,   VPF_,   VPD_,   VPE_)
C++ VecObj#include <OptiVec.h>
int vector<T>::abs( const vector<T>& X );
int vector<T>::abs( const vector<complex<T>>& X );
Pascal/Delphiuses VFmath;
function VF_abs( Y, X:fVector; size:UIntSize ): IntBool;

    (analog VD_,   VE_,   VSI_,   VI_,   VLI_,   VQI_)
function VCF_abs( Y:fVector; X:cfVector; size:UIntSize ): IntBool;
    (analog VCD_,   VCE_,   VPF_,   VPD_,   VPE_)
CUDA-Funktion C/C++#include <cudaVFmath.h>
int cudaVF_abs( fVector d_Y, fVector d_X, ui size );
int VFcu_abs( fVector h_Y, fVector h_X, ui size );
CUDA-Funktion Pascal/Delphiuses VFmath;
function cudaVF_abs( d_Y, d_X:fVector; size:UIntSize ): IntBool;
function VFcu_abs( h_Y, h_X:fVector; size:UIntSize ): IntBool;
BeschreibungReelle und Ganzzahl-Versionen: Yi = | Xi |
VBI_, VSI_-, VI_- und VLI_-Versionen: Durch die implizite modulo-2n-Arithmetik der Ganzzahlen wird der Absolutwert der "negativsten" möglichen Zahlen (also −128 für byte/ByteInt, -32768 für short/SmallInt, -2147483648 für long/LongInt) als dieselbe negative(!) Zahl -32768 bzw. -2147483648 gespeichert.
Komplexe Versionen: Yi = sqrt( Xi.Re2 + Xi.Im2 )
Man beachte bei den komplexen Versionen, dass der Ergebnis-Vektor reell ist. Dieselbe Operation der Bildung des Absolutwertes wird für cartesisch-komplexe Vektoren etwas schneller, dafür ohne Fehlerbehandlung, von VF_CtoAbs durchgeführt.
FehlerbehandlungReelle und Ganzzahl-Versionen: Es sollten keine Fehler auftreten.
Komplexe Versionen: OVERFLOW-Fehler ergeben +HUGE_VAL.
RückgabewertFließkomma-Versionen: FALSE (0), wenn fehlerfrei, andernfalls TRUE (≠ 0).
Die Ganzzahl-Versionen haben keinen Rückgabewert.
QuerverweisVF_neg,   VCF_conj

VectorLib Inhaltsverzeichnis  OptiVec Home