|
Function | Square of the secant function |
|
Syntax C/C++ | #include <VFmath.h>
int VF_sec2( fVector Y, fVector X, ui size );
int VFx_sec2( fVector Y, fVector X, ui size, float A, float B, float C ); |
C++ VecObj | #include <OptiVec.h>
int vector<T>::sec2( const vector<T>& X );
int vector<T>::x_sec2( const vector<T>& X, const T& A, const T& B, const T& C ); |
Pascal/Delphi | uses VFmath;
function VF_sec2( Y, X:fVector; size:UIntSize ): IntBool;
function VFx_sec2( Y, X:fVector; size:UIntSize; A, B, C:Single ): IntBool; |
|
CUDA function C/C++ | #include <cudaVFmath.h>
int cudaVF_sec2( fVector d_Y, fVector d_X, ui size );
int cudaVFx_sec2( fVector d_Y, fVector d_X, ui size, float A, float B, float C );
int cusdVFx_sec2( fVector d_Y, fVector d_X, ui size, float *d_A, float *d_B, float *d_C );
int VFcu_sec2( fVector h_Y, fVector h_X, ui size );
int VFxcu_sec2( fVector h_Y, fVector h_X, ui size, float A, float B, float C );
|
CUDA function Pascal/Delphi | uses VFmath;
function cudaVF_sec2( d_Y, d_X:fVector; size:UIntSize ): IntBool;
function cudaVFx_sec2( d_Y, d_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
function cusdVFx_sec2( d_Y, d_X:fVector; size:UIntSize; d_A, d_B, d_C:PSingle ): IntBool;
function VFcu_sec2( h_Y, h_X:fVector; size:UIntSize ): IntBool;
function VFxcu_sec2( h_Y, h_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
|
|
Description | simple versions: Yi = sec2( Xi )
expanded versions: Yi = C * sec2( A*Xi+B )
Calculating the squared trigonometric functions directly is faster and sometimes more accurate than first calculating the trigonometric function itself and squaring it afterwards. |
|
Error handling | For SING and OVERFLOW errors, the default result is HUGE_VAL (multiplied by the sign of C in the expanded versions); TLOSS errors lead to a default result of 1.0 or C, resp. (as if the input were 0.0). |
|
Return value | FALSE (0), if no error occurred, otherwise TRUE (non-zero). |
|
|