|
|
Syntax C/C++ | #include <VFmath.h>
int VF_sec( fVector Y, fVector X, ui size );
int VFx_sec( fVector Y, fVector X, ui size, float A, float B, float C ); |
C++ VecObj | #include <OptiVec.h>
int vector<T>::sec( const vector<T>& X );
int vector<T>::x_sec( const vector<T>& X, const T& A, const T& B, const T& C ); |
Pascal/Delphi | uses VFmath;
function VF_sec( Y, X:fVector; size:UIntSize ): IntBool;
function VFx_sec( Y, X:fVector; size:UIntSize; A, B, C:Single ): IntBool; |
|
CUDA-Funktion C/C++ | #include <cudaVFmath.h>
int cudaVF_sec( fVector d_Y, fVector d_X, ui size );
int cudaVFx_sec( fVector d_Y, fVector d_X, ui size, float A, float B, float C );
int cusdVFx_sec( fVector d_Y, fVector d_X, ui size, float *d_A, float *d_B, float *d_C );
int VFcu_sec( fVector h_Y, fVector h_X, ui size );
int VFxcu_sec( fVector h_Y, fVector h_X, ui size, float A, float B, float C );
|
CUDA-Funktion Pascal/Delphi | uses VFmath;
function cudaVF_sec( d_Y, d_X:fVector; size:UIntSize ): IntBool;
function cudaVFx_sec( d_Y, d_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
function cusdVFx_sec( d_Y, d_X:fVector; size:UIntSize; d_A, d_B, d_C:PSingle ): IntBool;
function VFcu_sec( h_Y, h_X:fVector; size:UIntSize ): IntBool;
function VFxcu_sec( h_Y, h_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
|
|
Beschreibung | einfache Versionen: Yi = sec( Xi )
= 1 / cos( Xi )
erweiterte Versionen: Yi = C * sec( A*Xi+B )
Der Secans ist als Kehrwert des Cosinus definiert (nicht zu verwechseln mit dessen Umkehrfunktion arccos). Für große Werte von Xi werden Rundungsfehler bemerkbar. Wenn sich die X-Werte als gebrochenzahlige Vielfache von p darstellen lassen, sollte man lieber VF_secrpi als VF_sec verwenden. |
|
Fehlerbehandlung | SING- oder OVERFLOW-Fehler führen zum Ergebnis ±HUGE_VAL.
TLOSS-Fehler ergeben ein Resultat von 1.0 (als ob das Argument 0.0 wäre). |
|
Rückgabewert | FALSE (0), wenn fehlerfrei, andernfalls TRUE (≠ 0). |
|
|