__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 14.6 |