13 #if defined(LIBM_SCCS) && !defined(lint)
14 static const char rcsid[] =
15 "$NetBSD: k_rem_pio2.c,v 1.7 1995/05/10 20:46:25 jtc Exp $";
142 static const int init_jk[] = { 2, 3, 4, 6 };
144 static int init_jk[] = { 2, 3, 4, 6 };
148 static const double PIo2[] = {
150 static double PIo2[] = {
152 1.57079625129699707031e+00,
153 7.54978941586159635335e-08,
154 5.39030252995776476554e-15,
155 3.28200341580791294123e-22,
156 1.27065575308067607349e-29,
157 1.22933308981111328932e-36,
158 2.73370053816464559624e-44,
159 2.16741683877804819444e-51,
182 int32_t jz, jx, jv, jp, jk, carry,
n, iq[20],
i,
j,
k,
m, q0, ih;
183 double z, fw,
f[20], fq[20],
q[20];
197 q0 = e0 - 24 * (jv + 1);
202 for (i = 0; i <=
m; i++, j++)
203 f[i] = (j < 0) ?
zero : (double) ipio2[j];
206 for (i = 0; i <= jk; i++) {
207 for (j = 0, fw = 0.0; j <= jx; j++) {
220 for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) {
228 z -= 8.0 *
floor(z * 0.125);
233 i = (iq[jz - 1] >> (24 - q0));
235 iq[jz - 1] -= i << (24 - q0);
236 ih = iq[jz - 1] >> (23 - q0);
238 ih = iq[jz - 1] >> 23;
245 for (i = 0; i < jz; i++) {
250 iq[
i] = 0x1000000 -
j;
253 iq[
i] = 0xffffff -
j;
258 iq[jz - 1] &= 0x7fffff;
261 iq[jz - 1] &= 0x3fffff;
275 for (i = jz - 1; i >= jk; i--)
278 for (k = 1; iq[jk -
k] == 0; k++);
280 for (i = jz + 1; i <= jz +
k; i++) {
281 f[jx +
i] = (double) ipio2[jv + i];
282 for (j = 0, fw = 0.0; j <= jx; j++)
283 fw += x[j] * f[jx + i - j];
295 while (iq[jz] == 0) {
313 for (i = jz; i >= 0; i--) {
314 q[
i] = fw * (double) iq[i];
319 for (i = jz; i >= 0; i--) {
320 for (fw = 0.0, k = 0; k <= jp && k <= jz -
i; k++)
321 fw += PIo2[k] * q[i + k];
329 for (i = jz; i >= 0; i--)
331 y[0] = (ih == 0) ? fw : -fw;
336 for (i = jz; i >= 0; i--)
338 y[0] = (ih == 0) ? fw : -fw;
340 for (i = 1; i <= jz; i++)
342 y[1] = (ih == 0) ? fw : -fw;
345 for (i = jz; i > 0; i--) {
346 fw = fq[i - 1] + fq[
i];
347 fq[
i] += fq[i - 1] - fw;
350 for (i = jz; i > 1; i--) {
351 fw = fq[i - 1] + fq[
i];
352 fq[
i] += fq[i - 1] - fw;
355 for (fw = 0.0, i = jz; i >= 2; i--)
GLint GLint GLint GLint GLint x
GLdouble GLdouble GLdouble GLdouble q
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 int return Display Window Cursor return Display Window return Display Drawable GC int int unsigned int unsigned int return Display Drawable GC int int _Xconst char int return Display Drawable GC int int unsigned int unsigned int return Display return Display Cursor return Display GC return XModifierKeymap return char Display Window int return Display return Display Atom return Display Window XWindowAttributes return Display Window return Display XEvent Bool(*) XPointer return Display Window Bool unsigned int int int Window Cursor Time return Display Window int return KeySym return Display _Xconst char Bool return Display _Xconst char return XKeyEvent char int KeySym XComposeStatus return Display int int int XVisualInfo return Display Window int int return _Xconst char return Display XEvent return Display Drawable GC XImage int int int int unsigned int unsigned int return Display Window Window Window int int int int unsigned int return Display Window Window int int return Display Window unsigned int unsigned int return Display Window Bool long XEvent return Display GC unsigned long return Display Window int Time return Display Window Window return Display Window unsigned long return Display Window XSizeHints Display Colormap XColor int return char int XTextProperty return XFontStruct _Xconst char int int int int XCharStruct return Display Window return Display Time return Display Colormap return Display Window Window int int unsigned int unsigned int int int return Display Window int return XExtensionInfo Display char XExtensionHooks int XPointer return XExtensionInfo XExtensionInfo Display return Display return Display unsigned long Display GC Display char long Display xReply int Bool return Display Bool return Display int SDL_X11_XESetEventToWireRetType return Display Window Window Window Window unsigned int return Display XShmSegmentInfo return Display Drawable GC XImage int int int int unsigned int unsigned int Boo k)
int attribute_hidden __kernel_rem_pio2(x, y, int e0, int nx, int prec, ipio2)
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)
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)
GLint GLint GLint GLint GLint GLint y
#define SDL_assert(condition)
#define SDL_arraysize(array)
libm_hidden_proto(scalbn)