# SinCos

Computes sine and cosine of vector elements.

## Syntax

Fortran:

call vssincos( n, a, y, z )

call vdsincos( n, a, y, z )

C:

vsSinCos( n, a, y, z );

vdSinCos( n, a, y, z );

## Input Parameters

Name | Type | Description
--- | --- | ---
n | FORTRAN: INTEGER, INTENT(IN). C: int. | Specifies the number of elements to be calculated.
a | FORTRAN: REAL, INTENT(IN) for vssincos DOUBLE PRECISION, INTENT(IN) for vdsincos C: const float* for vsSinCos const double* for vdSinCos | FORTRAN: Array, specifies the input vector a. C: Pointer to an array that contains the input vector a.

## Output Parameters

Name | Type | Description
--- | --- | ---
y, z | FORTRAN: REAL for vssincos DOUBLE PRECISION for vdsincos C: float* for vsSinCos double* for vdSinCos | FORTRAN: Arrays, specify the output vectors y (for sine values) and z (for cosine values). C: Pointers to arrays that contain the output vectors y (for sinevalues) and z(for cosine values).

## Description

The function computes sine 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 trig function arguments for which VML provides the best possible performance. For performance reasons, avoid arguments that do not belong to the fast computational path in the VML HA and LA functions. Alternatively, you can use VML EP functions that are fast on the entire function domain at the cost of accuracy.

Parent topic: Trigonometric Functions