Computes cosine of vector elements.
FORTRAN:
call vscos( n, a, y )
call vmscos( n, a, y, mode )
call vdcos( n, a, y )
call vmdcos( n, a, y, mode )
call vccos( n, a, y )
call vmccos( n, a, y, mode )
call vzcos( n, a, y )
call vmzcos( n, a, y, mode )
C:
vsCos( n, a, y );
vmsCos( n, a, y, mode );
vdCos( n, a, y );
vmdCos( n, a, y, mode );
vcCos( n, a, y );
vmcCos( n, a, y, mode );
vzCos( n, a, y );
vmzCos( n, a, y, mode );
Name |
Type |
Description |
---|---|---|
n |
FORTRAN 77: INTEGER Fortran 90: INTEGER, INTENT(IN) C: const int |
Specifies the number of elements to be calculated. |
a |
FORTRAN 77: REAL for vscos, vmscos DOUBLE PRECISION for vdcos, vmdcos COMPLEX for vccos, vmccos DOUBLE PRECISION for vzcos, vmzcos Fortran 90: REAL, INTENT(IN) for vscos, vmscos DOUBLE PRECISION, INTENT(IN) for vdcos, vmdcos COMPLEX, INTENT(IN) for vccos, vmccos DOUBLE PRECISION, INTENT(IN) for vzcos, vmzcos C: const float* for vsCos, vmsCos const double* for vdCos, vmdCos const MKL_Complex8* for vcCos, vmcCos const MKL_Complex16* for vzCos, vmzCos |
FORTRAN: Array that specifies the input vector a. C: Pointer to an array that contains the input vector a. |
mode |
FORTRAN 77: INTEGER*8 Fortran 90: INTEGER(KIND=8), INTENT(IN) C: const MKL_INT64 |
Overrides global VML mode setting for this function call. See vmlSetMode for possible values and their description. |
Name |
Type |
Description |
---|---|---|
y |
FORTRAN 77: REAL for vscos, vmscos DOUBLE PRECISION for vdcos, vmdcos COMPLEX for vccos, vmccos DOUBLE PRECISION for vzcos, vmzcos Fortran 90: REAL, INTENT(OUT) for vscos, vmscos DOUBLE PRECISION, INTENT(OUT) for vdcos, vmdcos COMPLEX, INTENT(OUT) for vccos, vmccos DOUBLE PRECISION, INTENT(OUT) for vzcos, vmzcos C: float* for vsCos, vmsCos double* for vdCos, vmdCos MKL_Complex8* for vcCos, vmcCos MKL_Complex16* for vzCos, vmzCos |
FORTRAN: Array that specifies the output vector y. C: Pointer to an array that contains the output vector y. |
The v?Cos function computes cosine of vector elements.
Note that arguments abs(a[i]) ≤ 213 and abs(a[i]) ≤ 216 for single and double precisions respectively are called fast computational path. These are trigonometric function arguments for which VML provides the best possible performance. Avoid arguments that do not belong to the fast computational path in the VML High Accuracy (HA) and Low Accuracy (LA) functions. Alternatively, you can use VML Enhanced Performance (EP) functions that are fast on the entire function domain. However, these functions provide less accuracy.
Argument | Result | VML Error Status | Exception |
---|---|---|---|
+0 | +1 | ||
-0 | +1 | ||
+∞ | QNAN | VML_STATUS_ERRDOM | INVALID |
-∞ | QNAN | VML_STATUS_ERRDOM | INVALID |
QNAN | QNAN | ||
SNAN | QNAN | INVALID |
Specifications for special values of the complex functions are defined according to the following formula
Cos(z) = Cosh(i*z).