16#if defined(LIBM_SCCS) && !defined(lint)
17static char rcsid[] =
"$NetBSD: e_j1.c,v 1.8 1995/05/10 20:45:27 jtc Exp $";
69static double pone(
double),
qone(
double);
82tpi = 6.36619772367581382433e-01,
84R[] = {-6.25000000000000000000e-02,
85 1.40705666955189706048e-03,
86 -1.59955631084035597520e-05,
87 4.96727999609584448412e-08},
88S[] = {0.0, 1.91537599538363460805e-02,
89 1.85946785588630915560e-04,
90 1.17718464042623683263e-06,
91 5.04636257076217042715e-09,
92 1.23542274426137913908e-11};
95static const double zero = 0.0;
107 double z,
s,
c,
ss,
cc,
r,
u,
v,
y,
r1,
r2,
s1,
s2,s3,z2,z4;
112 if(ix>=0x7ff00000)
return one/
x;
114 if(ix >= 0x40000000) {
139#ifdef DO_NOT_USE_THIS
140 r =
z*(r00+
z*(r01+
z*(r02+
z*r03)));
141 s =
one+
z*(s01+
z*(s02+
z*(s03+
z*(s04+
z*s05))));
145 r2 =
R[1]+
z*
R[2]; z4=z2*z2;
151 s =
s1 + z2*
s2 + z4*s3;
157static const double U0[5] = {
159static double U0[5] = {
161 -1.96057090646238940668e-01,
162 5.04438716639811282616e-02,
163 -1.91256895875763547298e-03,
164 2.35252600561610495928e-05,
165 -9.19099158039878874504e-08,
168static const double V0[5] = {
170static double V0[5] = {
172 1.99167318236649903973e-02,
173 2.02552581025135171496e-04,
174 1.35608801097516229404e-06,
175 6.22741452364621501295e-09,
176 1.66559246207992079114e-11,
186 double z,
s,
c,
ss,
cc,
u,
v,
u1,
u2,
v1,
v2,
v3,z2,z4;
192 if(ix>=0x7ff00000)
return one/(
x+
x*
x);
195 if(ix >= 0x40000000) {
226#ifdef DO_NOT_USE_THIS
252static const double pr8[6] = {
256 0.00000000000000000000e+00,
257 1.17187499999988647970e-01,
258 1.32394806593073575129e+01,
259 4.12051854307378562225e+02,
260 3.87474538913960532227e+03,
261 7.91447954031891731574e+03,
264static const double ps8[5] = {
268 1.14207370375678408436e+02,
269 3.65093083420853463394e+03,
270 3.69562060269033463555e+04,
271 9.76027935934950801311e+04,
272 3.08042720627888811578e+04,
276static const double pr5[6] = {
280 1.31990519556243522749e-11,
281 1.17187493190614097638e-01,
282 6.80275127868432871736e+00,
283 1.08308182990189109773e+02,
284 5.17636139533199752805e+02,
285 5.28715201363337541807e+02,
288static const double ps5[5] = {
292 5.92805987221131331921e+01,
293 9.91401418733614377743e+02,
294 5.35326695291487976647e+03,
295 7.84469031749551231769e+03,
296 1.50404688810361062679e+03,
300static const double pr3[6] = {
304 3.02503916137373618024e-09,
305 1.17186865567253592491e-01,
306 3.93297750033315640650e+00,
307 3.51194035591636932736e+01,
308 9.10550110750781271918e+01,
309 4.85590685197364919645e+01,
312static const double ps3[5] = {
316 3.47913095001251519989e+01,
317 3.36762458747825746741e+02,
318 1.04687139975775130551e+03,
319 8.90811346398256432622e+02,
320 1.03787932439639277504e+02,
324static const double pr2[6] = {
328 1.07710830106873743082e-07,
329 1.17176219462683348094e-01,
330 2.36851496667608785174e+00,
331 1.22426109148261232917e+01,
332 1.76939711271687727390e+01,
333 5.07352312588818499250e+00,
336static const double ps2[5] = {
340 2.14364859363821409488e+01,
341 1.25290227168402751090e+02,
342 2.32276469057162813669e+02,
343 1.17679373287147100768e+02,
344 8.36463893371618283368e+00,
348 static double pone(
double x)
355 const double *
p = 0,*
q = 0;
357 double *
p = 0,*
q = 0;
359 double z,
r,
s,
r1,
r2,
r3,
s1,
s2,s3,z2,z4;
363 if(ix>=0x40200000) {
p =
pr8;
q=
ps8;}
364 else if(ix>=0x40122E8B){
p =
pr5;
q=
ps5;}
365 else if(ix>=0x4006DB6D){
p =
pr3;
q=
ps3;}
366 else if(ix>=0x40000000){
p =
pr2;
q=
ps2;}
368#ifdef DO_NOT_USE_THIS
373 r2 =
p[2]+
z*
p[3]; z4=z2*z2;
379 s =
s1 + z2*
s2 + z4*s3;
396static const double qr8[6] = {
400 0.00000000000000000000e+00,
401 -1.02539062499992714161e-01,
402 -1.62717534544589987888e+01,
403 -7.59601722513950107896e+02,
404 -1.18498066702429587167e+04,
405 -4.84385124285750353010e+04,
408static const double qs8[6] = {
412 1.61395369700722909556e+02,
413 7.82538599923348465381e+03,
414 1.33875336287249578163e+05,
415 7.19657723683240939863e+05,
416 6.66601232617776375264e+05,
417 -2.94490264303834643215e+05,
421static const double qr5[6] = {
425 -2.08979931141764104297e-11,
426 -1.02539050241375426231e-01,
427 -8.05644828123936029840e+00,
428 -1.83669607474888380239e+02,
429 -1.37319376065508163265e+03,
430 -2.61244440453215656817e+03,
433static const double qs5[6] = {
437 8.12765501384335777857e+01,
438 1.99179873460485964642e+03,
439 1.74684851924908907677e+04,
440 4.98514270910352279316e+04,
441 2.79480751638918118260e+04,
442 -4.71918354795128470869e+03,
446static const double qr3[6] = {
450 -5.07831226461766561369e-09,
451 -1.02537829820837089745e-01,
452 -4.61011581139473403113e+00,
453 -5.78472216562783643212e+01,
454 -2.28244540737631695038e+02,
455 -2.19210128478909325622e+02,
458static const double qs3[6] = {
462 4.76651550323729509273e+01,
463 6.73865112676699709482e+02,
464 3.38015286679526343505e+03,
465 5.54772909720722782367e+03,
466 1.90311919338810798763e+03,
467 -1.35201191444307340817e+02,
471static const double qr2[6] = {
475 -1.78381727510958865572e-07,
476 -1.02517042607985553460e-01,
477 -2.75220568278187460720e+00,
478 -1.96636162643703720221e+01,
479 -4.23253133372830490089e+01,
480 -2.13719211703704061733e+01,
483static const double qs2[6] = {
487 2.95333629060523854548e+01,
488 2.52981549982190529136e+02,
489 7.57502834868645436472e+02,
490 7.39393205320467245656e+02,
491 1.55949003336666123687e+02,
492 -4.95949898822628210127e+00,
496 static double qone(
double x)
503 const double *
p = 0,*
q = 0;
505 double *
p = 0,*
q = 0;
507 double s,
r,
z,
r1,
r2,
r3,
s1,
s2,s3,z2,z4,z6;
511 if(ix>=0x40200000) {
p =
qr8;
q=
qs8;}
512 else if(ix>=0x40122E8B){
p =
qr5;
q=
qs5;}
513 else if(ix>=0x4006DB6D){
p =
qr3;
q=
qs3;}
514 else if(ix>=0x40000000){
p =
qr2;
q=
qs2;}
516#ifdef DO_NOT_USE_THIS
521 r2 =
p[2]+
z*
p[3]; z4=z2*z2;
522 r3 =
p[4]+
z*
p[5]; z6=z4*z2;
527 s =
s1 + z2*
s2 + z4*s3 + z6*
q[5];
529 return (.375 +
r/
s)/
x;
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLdouble GLdouble GLdouble r
GLdouble GLdouble GLdouble GLdouble q
GLfloat GLfloat GLfloat GLfloat v3
GLfloat GLfloat GLfloat v2
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
double __ieee754_y1(double x)
double __ieee754_j1(double x)
static __inline void __sincos(double x, double *s, double *c)
static __inline double __cos(double x)
#define EXTRACT_WORDS(ix0, ix1, d)
static __inline double __ieee754_log(double x)
#define GET_HIGH_WORD(i, d)
static __inline double __ieee754_sqrt(double x)
_Check_return_ _CRT_JIT_INTRINSIC double __cdecl fabs(_In_ double x)
static TRIO_CONST char rcsid[]