# __sincos(3) [osx man page]

```__SINCOS(3)						   BSD Library Functions Manual 					       __SINCOS(3)

NAME
__sincos -- sine-cosine function

SYNOPSIS
#include <math.h>

void
__sincosf(float x, float *sinp, float *cosp);

void
__sincos(double x, double *sinp, double *cosp);

DESCRIPTION
The __sincos() function computes the sine and cosine of x (measured in radians) and stores the sine in the memory pointed to by sinp and the
cosine in the memory pointed to by cosp.

SPECIAL VALUES
__sincos(+-0, sinp, cosp) sets *sinp to +-0 and sets *cosp to +1.

__sincos(+-infinity, sinp, cosp) raises the "invalid" floating-point exception and sets both *sinp and *cosp to NaN.

VECTOR OPERATIONS
If you need to apply the __sincos() function to SIMD vectors or arrays, using the following functions provided by the Accelerate.framework
may be useful:

#include <Accelerate/Accelerate.h>

vFloat vsincosf(vFloat x, vFloat *c);
void vvsincosf(float *s, float *c, const float *x, const int *n);
void vvsincos(double *s, double *c, const double *x, const int *n);

cos(3), sin(3), tan(3), math(3)

BSD								 December 15, 2012							       BSD```

## Check Out this Related Man Page

```COS(3)							   BSD Library Functions Manual 						    COS(3)

NAME
cos -- cosine function

SYNOPSIS
#include <math.h>

double
cos(double x);

long double
cosl(long double x);

float
cosf(float x);

DESCRIPTION
The cos() function computes the cosine of x (measured in radians).

SPECIAL VALUES
cos(+-0) returns 1.

cos(+-infinity) returns a NaN and raises the "invalid" floating-point exception.

VECTOR OPERATIONS
If you need to apply the cos() function to SIMD vectors or arrays, using the following functions provided by the Accelerate.framework may
give significantly better performance:

#include <Accelerate/Accelerate.h>

vFloat vcosf(vFloat x);
vFloat vsincosf(vFloat x, vFloat *c);
void vvcosf(float *y, const float *x, const int *n);
void vvcos(double *y, const double *x, const int *n);
void vvsincosf(float *s, float *c, const float *x, const int *n);
void vvsincos(double *s, double *c, const double *x, const int *n);