| VFrx_cos2 | VDrx_cos2 | VErx_cos2 |
|
| Function | Square of the cosine function |
|
| 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/Delphi | uses VFmath;
function VF_cos2( Y, X:fVector; size:UIntSize ): IntBool;
function VFx_cos2( Y, X:fVector; size:UIntSize; A, B, C:Single ): IntBool; |
|
| Description | normal versions: Yi = cos2( Xi )
expanded versions: Yi = C * cos2( 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. The reduced-range versions with the prefixes VFr_ and VFrx_ are for situations in which one can be sure that all input values lie in the range -2p <= Xi <= +2p. |
|
| Error handling | Precision errors lead to a default result of 1.0 (as if the input were 0.0) and a non-zero return value, but are otherwise ignored; _matherr is not called.
OVERFLOW errors can only occur in the complex versions and lead to a result of ±HUGE_VAL. |
|
| Return value | FALSE (0), if no error occurred, otherwise TRUE (non-zero). |
|
|