VF_roundtoI | VD_roundtoI | VE_roundtoI |
VF_roundtoBI | VD_roundtoBI | VE_roundtoBI |
VF_roundtoSI | VD_roundtoSI | VE_roundtoSI |
VF_roundtoLI | VD_roundtoLI | VE_roundtoLI |
VF_roundtoQI | VD_roundtoQI | VE_roundtoQI |
VF_roundtoU | VD_roundtoU | VE_roundtoU |
VF_roundtoUB | VD_roundtoUB | VE_roundtoUB |
VF_roundtoUS | VD_roundtoUS | VE_roundtoUS |
VF_roundtoUL | VD_roundtoUL | VE_roundtoUL |
VF_roundtoUQ | VD_roundtoUQ | VE_roundtoUQ |
VF_roundtoUI | VD_roundtoUI | VE_roundtoUI |
|
Funktion | Rundung auf die nächste Ganzzahl |
|
Syntax C/C++ | #include <VFmath.h>
int VF_round( fVector Y, fVector X, ui size );
int VF_roundtoI( iVector Y, fVector X, ui size );
int VF_roundtoLI( liVector Y, fVector X, ui size );
(analog alle übrigen Funktionen dieser Familie) |
C++ VecObj | #include <OptiVec.h>
int vector<T>::round( const vector<T>& X );
int vector<int>::roundtoI( const vector<T>& X );
int vector<long>::roundtoLI( const vector<T>& X ); |
Pascal/Delphi | uses VFmath;
function VF_round( Y, X:fVector; size:UIntSize ):IntBool;
function VF_roundtoI( Y:iVector; X:fVector; size:UIntSize ):IntBool;
function VF_roundtoLI( Y:liVector; X:fVector; size:UIntSize ):IntBool;
(analog alle übrigen Funktionen dieser Familie) |
|
CUDA-Funktion C/C++ | #include <cudaVFmath.h>
int cudaVF_round( fVector d_Y, fVector d_X, ui size );
int cudaVF_roundtoI( iVector d_Y, fVector d_X, ui size );
int VFcu_round( fVector h_Y, fVector h_X, ui size );
int VFcu_roundtoI( iVector h_Y, fVector h_X, ui size );
|
CUDA-Funktion Pascal/Delphi | uses VFmath;
function cudaVF_round( d_Y, d_X:fVector; size:UIntSize ): IntBool;
function cudaVF_roundtoI( d_Y:iVector; d_X:fVector; size:UIntSize ): IntBool;
function VFcu_round( h_Y, h_X:fVector; size:UIntSize ): IntBool;
function VFcu_roundtoI( h_Y:iVector; h_X:fVector; size:UIntSize ): IntBool;
|
|
Beschreibung | Jedes Element von X wird auf die nächste ganze Zahl gerundet und das Ergebnis in Y gespeichert. Hierbei erfolgt gegebenenfalls eine Umwandlung des Datentyps (in den Funktionen VF_roundtoI, VF_roundtoLI, VF_roundtoU etc.). Sind zwei ganze Zahlen exakt gleich weit entfernt, erfolgt Rundung auf die nächste gerade Zahl. 1.5 wird demnach auf 2.0 aufgerundet, während 2.5 auf 2.0 abgerundet wird. |
|
Fehlerbehandlung | OVERFLOW- und DOMAIN-Fehler werden "stillschweigend" abgefangen und führen weder zu einer Fehlermeldung, noch werden sie durch den Rückgabewert angezeigt. Im Falle von OVERFLOW-Fehlern wird das Resultat gleich dem größten (bzw. am stärksten negativen) Wert gesetzt, der in dem jeweiligen Ziel-Datentyp möglich ist. DOMAIN-Fehler entstehen durch negative Zahlen in den Funktionen VF_ceiltoU, VD_ceiltoUS etc.; sie werden behandelt, indem das Resultat auf 0 gesetzt wird. |
|
Rückgabewert | immer FALSE (0) |
|
|