FunctionCosine function
Syntax C/C++#include <VFmath.h>
int VF_cos( fVector Y, fVector X, ui size );
int VFx_cos( fVector Y, fVector X, ui size, float A, float B, float C );
int VFr_cos( fVector Y, fVector X, ui size );
int VFrx_cos( fVector Y, fVector X, ui size, float A, float B, float C );
C++ VecObj#include <OptiVec.h>
int vector<T>::cos( const vector<T>& X );
int vector<T>::x_cos( const vector<T>& X, const T& A, const T& B, const T& C );
int vector<T>::r_cos( const vector<T>& X );
int vector<T>::rx_cos( const vector<T>& X, const T& A, const T& B, const T& C );
Pascal/Delphiuses VFmath;
function VF_cos( Y, X:fVector; size:UIntSize ): IntBool;
function VFx_cos( Y, X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
function VFr_cos( Y, X:fVector; size:UIntSize ): IntBool;
function VFrx_cos( Y, X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
CUDA function C/C++#include <cudaVFmath.h>
int cudaVF_cos( fVector d_Y, fVector d_X, ui size );
int cudaVFx_cos( fVector d_Y, fVector d_X, ui size, float A, float B, float C );
int cusdVFx_cos( fVector d_Y, fVector d_X, ui size, float *d_A, float *d_B, float *d_C );
int VFcu_cos( fVector h_Y, fVector h_X, ui size );
int VFxcu_cos( fVector h_Y, fVector h_X, ui size, float A, float B, float C );
CUDA function Pascal/Delphiuses VFmath;
function cudaVF_cos( d_Y, d_X:fVector; size:UIntSize ): IntBool;
function cudaVFx_cos( d_Y, d_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
function cusdVFx_cos( d_Y, d_X:fVector; size:UIntSize; d_A, d_B, d_C:PSingle ): IntBool;
function VFcu_cos( h_Y, h_X:fVector; size:UIntSize ): IntBool;
function VFxcu_cos( h_Y, h_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
Descriptionnormal versions: Yi = cos ( Xi )
expanded versions: Yi = C * cos ( A*Xi + B )
For large values of Xi, round-off error becomes appreciable; if the Xi values are representable as rational multiples of p, it is better to use VF_cosrpi than VF_cos.
If, on the other hand, one can be sure that all Xi are within the range -2p <= Xi <= +2p, one can employ the faster reduced-range versions with the prefixes VFr_ and VFrx_ (only for CPU, not for CUDA).
Error handlingPrecision errors in the real-value functions lead to a default result of 1.0 (as if the input were 0.0) and to 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 valueFALSE (0), if no error occurred, otherwise TRUE (non-zero).
See alsoVF_cos2,   VF_cosrpi,   VF_sin,   VF_cosh,   VF_acos,   cos

VectorLib Table of Contents  OptiVec home