# __tanpi(3) [mojave man page]

__TANPI(3) BSD Library Functions Manual __TANPI(3)NAME

__tanpitangent-pi function--SYNOPSIS

#include <math.h> float __tanpif(float x); double __tanpi(double x);DESCRIPTION

The __tanpi() function returns the tangent of pi times x (measured in radians). This can be computed more accurately than tan(M_PI * x), because it can implicitly use as many bits of pi as are necessary to deliver a well-rounded result, instead of the 53-bits to which M_PI is limited. For large x it may also be more efficient, as the argument reduction involved is significantly simpler. This function may be especially useful for working with degrees; whereas tan(M_PI * x / 180.0) cannot produce exact results for angles that naively "should" be exact, like 90 degrees, __tanpi(x / 180.0) can be computed exactly.SPECIAL VALUES

__tanpi(-x) is the same as - __tanpi(x) for any finite x. __tanpi(+-0) returns +-0. __tanpi(n) returns +0 for any positive even integer n. __tanpi(n) returnsfor any positive odd integer n. __tanpi(n + 0.5) returns +infinity for any even integer n. __tanpi(n + 0.5) returns-0for any odd integer n. __tanpi(+-infinity) raises the invalid floating-point exception and returns NaN.-infinityVECTOR OPERATIONS

If you need to apply the __tanpi() function to SIMD vectors or arrays, using the following functions provided by the Accelerate.framework may be useful: #include <Accelerate/Accelerate.h> vFloat vtanpif(vFloat x); void vvtanpif(float *y, const float *x, const int *n); void vvtanpi(double *y, const double *x, const int *n);SEE ALSO

__cospi(3), __sinpi(3), __sincospi(3), math(3)BSD

December 15, 2012 BSD

## Check Out this Related Man Page

__SINPI(3) BSD Library Functions Manual __SINPI(3)NAME

__sinpisine-pi function--SYNOPSIS

#include <math.h> float __sinpif(float x); double __sinpi(double x);DESCRIPTION

The __sinpi() function returns the sine of pi times x (measured in radians). This can be computed more accurately than sin(M_PI * x), because it can implicitly use as many bits of pi as are necessary to deliver a well-rounded result, instead of the 53-bits to which M_PI is limited. For large x it may also be more efficient, as the argument reduction involved is significantly simpler. This function may be especially useful for working with degrees; whereas sin(M_PI * x / 180.0) cannot produce exact results for angles that naively "should" be exact, like 180 degrees, __sinpi(x / 180.0) can be computed exactly.SPECIAL VALUES

__sinpi(-x) is the same as - __sinpi(x) for any finite x. __sinpi(+-0) returns +-0. __sinpi(n) returns +0 for any positive integer n. __sinpi(n + 0.5) returns +1 for any even integer n. __sinpi(n + 0.5) returnsfor any odd integer n. __sinpi(+-infinity) raises the invalid floating-point exception and returns NaN.-1VECTOR OPERATIONS

If you need to apply the __sinpi() function to SIMD vectors or arrays, using the following functions provided by the Accelerate.framework may be useful: #include <Accelerate/Accelerate.h> vFloat vsinpif(vFloat x); void vvsinpif(float *y, float *x, const int n); void vvsinpi(double *y, double *x, const int n);SEE ALSO

__cospi(3), __tanpi(3), __sincospi(3), math(3)BSD

December 15, 2012 BSD