manpagez: man pages & more
man __sinpi(3)
Home | html | info | man
__sinpi(3)               BSD Library Functions Manual               __sinpi(3)


NAME

     __sinpi -- sine-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 radi-
     ans).  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) returns -1 for any odd integer n.
     __sinpi(+-infinity) raises the invalid floating-point exception and
     returns NaN.


VECTOR 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

Mac OS X 10.9.1 - Generated Fri Jan 10 06:04:45 CST 2014
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.