VCFx_atan | VCDx_atan | VCEx_atan |
|
Function | arcus tangens function |
|
Syntax C/C++ | #include <VFmath.h>
int VF_atan( fVector Y, fVector X, ui size );
int VFx_atan( fVector Y, fVector X, ui size, float A, float B, float C ); |
C++ VecObj | #include <OptiVec.h>
int vector<T>::atan( const vector<T>& X );
int vector<T>::x_atan( const vector<T>& X, const T& A, const T& B, const T& C ); |
Pascal/Delphi | uses VFmath;
function VF_atan( Y, X:fVector; size:UIntSize ): IntBool;
function VFx_atan( Y, X:fVector; size:UIntSize; A, B, C:Single ): IntBool; |
|
CUDA function C/C++ | #include <cudaVFmath.h>
int cudaVF_atan( fVector d_Y, fVector d_X, ui size );
int cudaVFx_atan( fVector d_Y, fVector d_X, ui size, float A, float B, float C );
int cusdVFx_atan( fVector d_Y, fVector d_X, ui size, float *d_A, float *d_B, float *d_C );
int VFcu_atan( fVector h_Y, fVector h_X, ui size );
int VFxcu_atan( fVector h_Y, fVector h_X, ui size, float A, float B, float C );
|
CUDA function Pascal/Delphi | uses VFmath;
function cudaVF_atan( d_Y, d_X:fVector; size:UIntSize ): IntBool;
function cudaVFx_atan( d_Y, d_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
function cusdVFx_atan( d_Y, d_X:fVector; size:UIntSize; d_A, d_B, d_C:PSingle ): IntBool;
function VFcu_atan( h_Y, h_X:fVector; size:UIntSize ): IntBool;
function VFxcu_atan( h_Y, h_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
|
|
Description | simple versions: Yi = arctan ( Xi )
expanded versions: Yi = C * arctan (A*Xi + B ) |
|
Error handling | The real versions should be error-proof as long as the parameter C in the expanded versions is not already near the OVERFLOW limit; this very rare error is neither detected nor handled.
In the complex versions, the result for an argument of {0, −1} is set to {0, -p} without notice (and without the program crash resulting from calling the complex atan with this argument in some compilers). |
|
Return value | always FALSE (0). |
|
|