VF_sin2VD_sin2VE_sin2
VFx_sin2VDx_sin2VEx_sin2
VFr_sin2VDr_sin2VEr_sin2
VFrx_sin2VDrx_sin2VErx_sin2
FunktionQuadrat der Sinus-Funktion
Syntax C/C++#include <VFmath.h>
int VF_sin2( fVector Y, fVector X, ui size );
int VFx_sin2( fVector Y, fVector X, ui size, float A, float B, float C );
C++ VecObj#include <OptiVec.h>
int vector<T>::sin2( const vector<T>& X );
int vector<T>::x_sin2( const vector<T>& X, const T& A, const T& B, const T& C );
Pascal/Delphiuses VFmath;
function VF_sin2( Y, X:fVector; size:UIntSize ): IntBool;
function VFx_sin2( Y, X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
CUDA-Funktion C/C++#include <cudaVFmath.h>
int cudaVF_sin2( fVector d_Y, fVector d_X, ui size );
int cudaVFx_sin2( fVector d_Y, fVector d_X, ui size, float A, float B, float C );
int cusdVFx_sin2( fVector d_Y, fVector d_X, ui size, float *d_A, float *d_B, float *d_C );
int VFcu_sin2( fVector h_Y, fVector h_X, ui size );
int VFxcu_sin2( fVector h_Y, fVector h_X, ui size, float A, float B, float C );
CUDA-Funktion Pascal/Delphiuses VFmath;
function cudaVF_sin2( d_Y, d_X:fVector; size:UIntSize ): IntBool;
function cudaVFx_sin2( d_Y, d_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
function cusdVFx_sin2( d_Y, d_X:fVector; size:UIntSize; d_A, d_B, d_C:PSingle ): IntBool;
function VFcu_sin2( h_Y, h_X:fVector; size:UIntSize ): IntBool;
function VFxcu_sin2( h_Y, h_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
Beschreibungeinfache Versionen: Yi = sin2( Xi )
erweiterte Versionen: Yi = C * sin2( 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 0.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_sin,   VF_sinrpi,  sin

VectorLib Inhaltsverzeichnis  OptiVec Home