13 #if defined(LIBM_SCCS) && !defined(lint) 14 static const char rcsid[] =
15 "$NetBSD: e_rem_pio2.c,v 1.8 1995/05/10 20:46:02 jtc Exp $";
33 static const int32_t two_over_pi[] = {
35 static int32_t two_over_pi[] = {
37 0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62,
38 0x95993C, 0x439041, 0xFE5163, 0xABDEBB, 0xC561B7, 0x246E3A,
39 0x424DD2, 0xE00649, 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129,
40 0xA73EE8, 0x8235F5, 0x2EBB44, 0x84E99C, 0x7026B4, 0x5F7E41,
41 0x3991D6, 0x398353, 0x39F49C, 0x845F8B, 0xBDF928, 0x3B1FF8,
42 0x97FFDE, 0x05980F, 0xEF2F11, 0x8B5A0A, 0x6D1F6D, 0x367ECF,
43 0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5,
44 0xF17B3D, 0x0739F7, 0x8A5292, 0xEA6BFB, 0x5FB11F, 0x8D5D08,
45 0x560330, 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3,
46 0x91615E, 0xE61B08, 0x659985, 0x5F14A0, 0x68408D, 0xFFD880,
47 0x4D7327, 0x310606, 0x1556CA, 0x73A8C9, 0x60E27B, 0xC08C6B,
55 0x3FF921FB, 0x400921FB, 0x4012D97C, 0x401921FB, 0x401F6A7A, 0x4022D97C,
56 0x4025FDBB, 0x402921FB, 0x402C463A, 0x402F6A7A, 0x4031475C, 0x4032D97C,
57 0x40346B9C, 0x4035FDBB, 0x40378FDB, 0x403921FB, 0x403AB41B, 0x403C463A,
58 0x403DD85A, 0x403F6A7A, 0x40407E4C, 0x4041475C, 0x4042106C, 0x4042D97C,
59 0x4043A28C, 0x40446B9C, 0x404534AC, 0x4045FDBB, 0x4046C6CB, 0x40478FDB,
60 0x404858EB, 0x404921FB,
78 zero = 0.00000000000000000000e+00,
79 half = 5.00000000000000000000e-01,
80 two24 = 1.67772160000000000000e+07,
98 double z = 0.0,
w,
t,
r, fn;
104 ix = hx & 0x7fffffff;
105 if (ix <= 0x3fe921fb) {
110 if (ix < 0x4002d97c) {
113 if (ix != 0x3ff921fb) {
115 y[1] = (z - y[0]) - pio2_1t;
119 y[1] = (z - y[0]) - pio2_2t;
124 if (ix != 0x3ff921fb) {
126 y[1] = (z - y[0]) + pio2_1t;
130 y[1] = (z - y[0]) + pio2_2t;
135 if (ix <= 0x413921fb) {
141 if (n < 32 && ix != npio2_hw[n - 1]) {
148 i = j - ((high >> 20) & 0x7ff);
156 i = j - ((high >> 20) & 0x7ff);
166 y[1] = (r - y[0]) -
w;
177 if (ix >= 0x7ff00000) {
184 e0 = (ix >> 20) - 1046;
186 for (i = 0; i < 2; i++) {
192 while (tx[nx - 1] ==
zero)
int32_t attribute_hidden __ieee754_rem_pio2(double x, y)
#define GET_HIGH_WORD(i, d)
GLdouble GLdouble GLdouble r
GLint GLint GLint GLint GLint x
int attribute_hidden __kernel_rem_pio2(x, y, int e0, int nx, int prec, ipio2)
#define SET_HIGH_WORD(d, v)
GLint GLint GLint GLint GLint GLint y
#define SET_LOW_WORD(d, v)
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int int in j)
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)
#define GET_LOW_WORD(i, d)
static int32_t npio2_hw[]
GLubyte GLubyte GLubyte GLubyte w