VF_cos2VD_cos2VE_cos2
VFx_cos2VDx_cos2VEx_cos2
VFr_cos2VDr_cos2VEr_cos2
VFrx_cos2VDrx_cos2VErx_cos2
FunktionQuadrat der Cosinus-Funktion
Syntax C/C++#include <VFmath.h>
int VF_cos2( fVector Y, fVector X, ui size );
int VFx_cos2( fVector Y, fVector X, ui size, float A, float B, float C );
C++ VecObj#include <OptiVec.h>
int vector<T>::cos2( const vector<T>& X );
int vector<T>::x_cos2( const vector<T>& X, const T& A, const T& B, const T& C );
Pascal/Delphiuses VFmath;
function VF_cos2( Y, X:fVector; size:UIntSize ): IntBool;
function VFx_cos2( Y, X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
CUDA-Funktion C/C++#include <cudaVFmath.h>
int cudaVF_cos2( fVector d_Y, fVector d_X, ui size );
int cudaVFx_cos2( fVector d_Y, fVector d_X, ui size, float A, float B, float C );
int cusdVFx_cos2( fVector d_Y, fVector d_X, ui size, float *d_A, float *d_B, float *d_C );
int VFcu_cos2( fVector h_Y, fVector h_X, ui size );
int VFxcu_cos2( fVector h_Y, fVector h_X, ui size, float A, float B, float C );
CUDA-Funktion Pascal/Delphiuses VFmath;
function cudaVF_cos2( d_Y, d_X:fVector; size:UIntSize ): IntBool;
function cudaVFx_cos2( d_Y, d_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
function cusdVFx_cos2( d_Y, d_X:fVector; size:UIntSize; d_A, d_B, d_C:PSingle ): IntBool;
function VFcu_cos2( h_Y, h_X:fVector; size:UIntSize ): IntBool;
function VFxcu_cos2( h_Y, h_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
Beschreibungeinfache Versionen: Yi = cos2( Xi )
erweiterte Versionen: Yi = C * cos2( A*Xi + B )

Das Quadrat trigonometrischer Funktionen läßt sich schneller und genauer direkt als über den Umweg der jeweils zugrundeliegenden Funktion bestimmen.

Falls man andererseits sicher ist, dass sich alle Eingabewerte innerhalb eines "vernünftigen" Bereiches befinden, so können die schnelleren Funktionen mit reduziertem Eingabe-Bereich eingesetzt werden (Präfix VFr_ und VFrx_). Sie verlangen folgende Begrenzungen:
64-bit: |Xi| < 232 (ungefähr 4.2*109)
32-bit: |Xi| ≤ 2p).
Die Funktionen mit reduziertem Eingabe-Bereich existieren nur für die CPU, nicht für CUDA.

FehlerbehandlungGenauigkeits-Fehler führen zum Resultat 1.0 (als ob das Argument 0.0 wäre) und zu einem Rückgabewert ungleich 0. Ansonsten werden diese Fehler ignoriert. _matherr wird daher nicht aufgerufen.
OVERFLOW-Fehler können nur in den komplexen Versionen auftreten und führen zum Resultat ±HUGE_VAL.
RückgabewertFALSE (0), wenn fehlerfrei, andernfalls TRUE (≠ 0).
QuerverweisVF_cos,   VF_cosrpi,  cos

VectorLib Inhaltsverzeichnis  OptiVec Home