#include "math.h"
#include "ieee754.h"
Go to the source code of this file.
◆ __ieee754_j1()
Definition at line 103 of file j1_y1.c.
106{
107 double z,
s,
c,
ss,
cc,
r,
u,
v,
y,
r1,
r2,
s1,
s2,s3,z2,z4;
109
111 ix = hx&0x7fffffff;
112 if(ix>=0x7ff00000)
return one/
x;
114 if(ix >= 0x40000000) {
118 if(ix<0x7fe00000) {
122 }
123
124
125
126
128 else {
131 }
134 }
135 if(ix<0x3e400000) {
137 }
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))));
143#else
145 r2 =
R[1]+
z*
R[2]; z4=z2*z2;
151 s =
s1 + z2*
s2 + z4*s3;
152#endif
154}
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLdouble GLdouble GLdouble r
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
static __inline void __sincos(double x, double *s, double *c)
static __inline double __cos(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)
Referenced by __ieee754_jn(), __ieee754_y1(), and _j1().
◆ __ieee754_y1()
Definition at line 182 of file j1_y1.c.
185{
186 double z,
s,
c,
ss,
cc,
u,
v,
u1,
u2,
v1,
v2,
v3,z2,z4;
188
190 ix = 0x7fffffff&hx;
191
192 if(ix>=0x7ff00000)
return one/(
x+
x*
x);
195 if(ix >= 0x40000000) {
199 if(ix<0x7fe00000) {
203 }
204
205
206
207
208
209
210
211
212
213
214
216 else {
219 }
221 }
222 if(ix<=0x3c900000) {
224 }
226#ifdef DO_NOT_USE_THIS
229#else
237#endif
239}
GLfloat GLfloat GLfloat GLfloat v3
GLfloat GLfloat GLfloat v2
double __ieee754_j1(double x)
#define EXTRACT_WORDS(ix0, ix1, d)
static __inline double __ieee754_log(double x)
Referenced by __ieee754_yn(), and _y1().
◆ pone() [1/2]
◆ pone() [2/2]
Definition at line 350 of file j1_y1.c.
353{
354#ifdef __STDC__
355 const double *
p = 0,*
q = 0;
356#else
357 double *
p = 0,*
q = 0;
358#endif
359 double z,
r,
s,
r1,
r2,
r3,
s1,
s2,s3,z2,z4;
362 ix &= 0x7fffffff;
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
371#else
373 r2 =
p[2]+
z*
p[3]; z4=z2*z2;
379 s =
s1 + z2*
s2 + z4*s3;
380#endif
382}
GLdouble GLdouble GLdouble GLdouble q
◆ qone() [1/2]
◆ qone() [2/2]
Definition at line 498 of file j1_y1.c.
501{
502#ifdef __STDC__
503 const double *
p = 0,*
q = 0;
504#else
505 double *
p = 0,*
q = 0;
506#endif
507 double s,
r,
z,
r1,
r2,
r3,
s1,
s2,s3,z2,z4,z6;
510 ix &= 0x7fffffff;
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
519#else
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];
528#endif
529 return (.375 +
r/
s)/
x;
530}
◆ huge
◆ invsqrtpi
double invsqrtpi = 5.64189583547756279280e-01 |
|
static |
◆ one
◆ pr2
Initial value:= {
1.07710830106873743082e-07,
1.17176219462683348094e-01,
2.36851496667608785174e+00,
1.22426109148261232917e+01,
1.76939711271687727390e+01,
5.07352312588818499250e+00,
}
Definition at line 326 of file j1_y1.c.
Referenced by add_pending_rmdir(), and pone().
◆ pr3
Initial value:= {
3.02503916137373618024e-09,
1.17186865567253592491e-01,
3.93297750033315640650e+00,
3.51194035591636932736e+01,
9.10550110750781271918e+01,
4.85590685197364919645e+01,
}
Definition at line 302 of file j1_y1.c.
Referenced by pone().
◆ pr5
Initial value:= {
1.31990519556243522749e-11,
1.17187493190614097638e-01,
6.80275127868432871736e+00,
1.08308182990189109773e+02,
5.17636139533199752805e+02,
5.28715201363337541807e+02,
}
Definition at line 278 of file j1_y1.c.
Referenced by pone().
◆ pr8
Initial value:= {
0.00000000000000000000e+00,
1.17187499999988647970e-01,
1.32394806593073575129e+01,
4.12051854307378562225e+02,
3.87474538913960532227e+03,
7.91447954031891731574e+03,
}
Definition at line 254 of file j1_y1.c.
Referenced by pone().
◆ ps2
Initial value:= {
2.14364859363821409488e+01,
1.25290227168402751090e+02,
2.32276469057162813669e+02,
1.17679373287147100768e+02,
8.36463893371618283368e+00,
}
Definition at line 338 of file j1_y1.c.
Referenced by pone().
◆ ps3
Initial value:= {
3.47913095001251519989e+01,
3.36762458747825746741e+02,
1.04687139975775130551e+03,
8.90811346398256432622e+02,
1.03787932439639277504e+02,
}
Definition at line 314 of file j1_y1.c.
Referenced by pone().
◆ ps5
Initial value:= {
5.92805987221131331921e+01,
9.91401418733614377743e+02,
5.35326695291487976647e+03,
7.84469031749551231769e+03,
1.50404688810361062679e+03,
}
Definition at line 290 of file j1_y1.c.
Referenced by pone().
◆ ps8
Initial value:= {
1.14207370375678408436e+02,
3.65093083420853463394e+03,
3.69562060269033463555e+04,
9.76027935934950801311e+04,
3.08042720627888811578e+04,
}
Definition at line 266 of file j1_y1.c.
Referenced by pone().
◆ qr2
Initial value:= {
-1.78381727510958865572e-07,
-1.02517042607985553460e-01,
-2.75220568278187460720e+00,
-1.96636162643703720221e+01,
-4.23253133372830490089e+01,
-2.13719211703704061733e+01,
}
Definition at line 473 of file j1_y1.c.
Referenced by qone().
◆ qr3
Initial value:= {
-5.07831226461766561369e-09,
-1.02537829820837089745e-01,
-4.61011581139473403113e+00,
-5.78472216562783643212e+01,
-2.28244540737631695038e+02,
-2.19210128478909325622e+02,
}
Definition at line 448 of file j1_y1.c.
Referenced by qone().
◆ qr5
Initial value:= {
-2.08979931141764104297e-11,
-1.02539050241375426231e-01,
-8.05644828123936029840e+00,
-1.83669607474888380239e+02,
-1.37319376065508163265e+03,
-2.61244440453215656817e+03,
}
Definition at line 423 of file j1_y1.c.
Referenced by qone().
◆ qr8
Initial value:= {
0.00000000000000000000e+00,
-1.02539062499992714161e-01,
-1.62717534544589987888e+01,
-7.59601722513950107896e+02,
-1.18498066702429587167e+04,
-4.84385124285750353010e+04,
}
Definition at line 398 of file j1_y1.c.
Referenced by qone().
◆ qs2
Initial value:= {
2.95333629060523854548e+01,
2.52981549982190529136e+02,
7.57502834868645436472e+02,
7.39393205320467245656e+02,
1.55949003336666123687e+02,
-4.95949898822628210127e+00,
}
Definition at line 485 of file j1_y1.c.
Referenced by qone().
◆ qs3
Initial value:= {
4.76651550323729509273e+01,
6.73865112676699709482e+02,
3.38015286679526343505e+03,
5.54772909720722782367e+03,
1.90311919338810798763e+03,
-1.35201191444307340817e+02,
}
Definition at line 460 of file j1_y1.c.
Referenced by qone().
◆ qs5
Initial value:= {
8.12765501384335777857e+01,
1.99179873460485964642e+03,
1.74684851924908907677e+04,
4.98514270910352279316e+04,
2.79480751638918118260e+04,
-4.71918354795128470869e+03,
}
Definition at line 435 of file j1_y1.c.
Referenced by qone().
◆ qs8
Initial value:= {
1.61395369700722909556e+02,
7.82538599923348465381e+03,
1.33875336287249578163e+05,
7.19657723683240939863e+05,
6.66601232617776375264e+05,
-2.94490264303834643215e+05,
}
Definition at line 410 of file j1_y1.c.
Referenced by qone().
Initial value:= {-6.25000000000000000000e-02,
1.40705666955189706048e-03,
-1.59955631084035597520e-05,
4.96727999609584448412e-08}
Definition at line 84 of file j1_y1.c.
Referenced by __ieee754_j1().
Initial value:= {0.0, 1.91537599538363460805e-02,
1.85946785588630915560e-04,
1.17718464042623683263e-06,
5.04636257076217042715e-09,
1.23542274426137913908e-11}
Definition at line 88 of file j1_y1.c.
◆ tpi
double tpi = 6.36619772367581382433e-01 |
|
static |
◆ U0
Initial value:= {
-1.96057090646238940668e-01,
5.04438716639811282616e-02,
-1.91256895875763547298e-03,
2.35252600561610495928e-05,
-9.19099158039878874504e-08,
}
Definition at line 159 of file j1_y1.c.
Referenced by __ieee754_y1().
◆ V0
Initial value:= {
1.99167318236649903973e-02,
2.02552581025135171496e-04,
1.35608801097516229404e-06,
6.22741452364621501295e-09,
1.66559246207992079114e-11,
}
Definition at line 170 of file j1_y1.c.
Referenced by __ieee754_y1().
◆ zero