VF_cos2 VD_cos2 VE_cos2
 VFx_cos2 VDx_cos2 VEx_cos2
 VFr_cos2 VDr_cos2 VEr_cos2
 VFrx_cos2 VDrx_cos2 VErx_cos2
 Function Square of the cosine function
 Syntax C/C++ #include 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 int vector::cos2( const vector& X ); int vector::x_cos2( const vector& 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;
 CUDA function C/C++ #include int cudaVF_cos2( fVector d_Y, fVector d_X, ui size ); int cudaVFx_cos2( fVector d_Y, fVector d_X, ui size, float A, float B, float C ); int cusdVFx_cos2( fVector d_Y, fVector d_X, ui size, float *d_A, float *d_B, float *d_C ); int VFcu_cos2( fVector h_Y, fVector h_X, ui size ); int VFxcu_cos2( fVector h_Y, fVector h_X, ui size, float A, float B, float C ); CUDA function Pascal/Delphi uses VFmath; function cudaVF_cos2( d_Y, d_X:fVector; size:UIntSize ): IntBool; function cudaVFx_cos2( d_Y, d_X:fVector; size:UIntSize; A, B, C:Single ): IntBool; function cusdVFx_cos2( d_Y, d_X:fVector; size:UIntSize; d_A, d_B, d_C:PSingle ): IntBool; function VFcu_cos2( h_Y, h_X:fVector; size:UIntSize ): IntBool; function VFxcu_cos2( h_Y, h_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 (not available for CUDA).
 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).