Lines Matching +full:0 +full:x3fe00000
34 * threshold is |x| < 0x1pN with N = -(P/2+M). P is the precision of the
43 * 3. For 1 <= |x| < 0x1p(P-1), argument reduction is required where
45 * 0 <= r < 1. With the given domain, a simplified inline floor(x)
56 * 4. For |x| >= 0x1p(P-1), |x| is integral and sinpi(x) = copysign(0,x).
60 * sinpi(+-0) = +-0
61 * sinpi(+-n) = +-0, for positive integers n.
71 pi_hi = 3.1415926814079285e+00, /* 0x400921fb 0x58000000 */
72 pi_lo =-2.7818135228334233e-08; /* 0xbe5dde97 0x3dcb3b3a */
77 volatile static const double vzero = 0;
86 ix = hx & 0x7fffffff; in sinpi()
89 if (ix < 0x3ff00000) { /* |x| < 1 */ in sinpi()
90 if (ix < 0x3fd00000) { /* |x| < 0.25 */ in sinpi()
91 if (ix < 0x3e200000) { /* |x| < 0x1p-29 */ in sinpi()
92 if (x == 0) in sinpi()
99 INSERT_WORDS(hi, hx, 0); in sinpi()
100 hi *= 0x1p53; in sinpi()
101 lo = x * 0x1p53 - hi; in sinpi()
104 return (s * 0x1p-53); in sinpi()
108 return ((hx & 0x80000000) ? -s : s); in sinpi()
111 if (ix < 0x3fe00000) /* |x| < 0.5 */ in sinpi()
113 else if (ix < 0x3fe80000) /* |x| < 0.75 */ in sinpi()
117 return ((hx & 0x80000000) ? -s : s); in sinpi()
120 if (ix < 0x43300000) { /* 1 <= |x| < 0x1p52 */ in sinpi()
125 if (ix == 0) in sinpi()
126 s = 0; in sinpi()
128 if (ix < 0x3fe00000) { /* |x| < 0.5 */ in sinpi()
129 if (ix < 0x3fd00000) /* |x| < 0.25 */ in sinpi()
134 if (ix < 0x3fe80000) /* |x| < 0.75 */ in sinpi()
141 x -= 0x1p30; in sinpi()
146 return ((hx & 0x80000000) ? -s : s); in sinpi()
150 if (ix >= 0x7ff00000) in sinpi()
154 * |x| >= 0x1p52 is always an integer, so return +-0. in sinpi()
156 return (copysign(0, x)); in sinpi()