| __TANPI(3) | Library Functions Manual | __TANPI(3) |
__tanpi —
tangent-pi function
#include
<math.h>
float
__tanpif(float
x);
double
__tanpi(double
x);
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.
__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) returns -0 for any
positive odd integer n.
__tanpi(n + 0.5) returns
+infinity for any even integer n.
__tanpi(n + 0.5) returns
-infinity for any odd integer n.
__tanpi(±infinity) raises
the invalid floating-point exception and returns
NaN.
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);
| December 15, 2012 | macOS 15.6 |