112 Lp1 = 6.666666666666735130e-01,
113 Lp2 = 3.999999999940941908e-01,
114 Lp3 = 2.857142874366239149e-01,
115 Lp4 = 2.222219843214978396e-01,
116 Lp5 = 1.818357216161805012e-01,
117 Lp6 = 1.531383769920937332e-01,
118 Lp7 = 1.479819860511658591e-01;
124 double hfsq,f,c,s,z,R,u;
135 if (hx < 0x3FDA827A) {
138 else return (x-x)/(x-x);
147 if(hx>0||hx<=((
int)0xbfd2bec3)) {
153 if (hx >= 0x7ff00000)
return x+x;
159 c = (k>0)? 1.0-(u-x):x-(u-1.0);
173 hu = (0x00100000-hu)>>2;
180 if(k==0)
return zero;
186 R = hfsq*(1.0-0.66666666666666666*f);
194 if(k==0)
return f-(hfsq-s*(hfsq+R));
#define GET_HIGH_WORD(i, d)
Get the more significant 32 bit int from a double.
static const double ln2_lo
static const double two54
static const double ln2_hi
#define SET_HIGH_WORD(d, v)
Set the more significant 32 bits of a double from an int.