Go to the source code of this file.
|
static const double | ln2_hi = 6.93147180369123816490e-01 |
|
static const double | ln2_lo = 1.90821492927058770002e-10 |
|
static const double | two54 = 1.80143985094819840000e+16 |
|
static const double | Lg1 = 6.666666666666735130e-01 |
|
static const double | Lg2 = 3.999999999940941908e-01 |
|
static const double | Lg3 = 2.857142874366239149e-01 |
|
static const double | Lg4 = 2.222219843214978396e-01 |
|
static const double | Lg5 = 1.818357216161805012e-01 |
|
static const double | Lg6 = 1.531383769920937332e-01 |
|
static const double | Lg7 = 1.479819860511658591e-01 |
|
static const double | zero = 0.0 |
|
◆ __ieee754_log()
Definition at line 85 of file e_log.c.
87 double hfsq,
f,
s,
z,R,
w,
t1,t2,dk;
94 if (hx < 0x00100000) {
95 if (((hx&0x7fffffff)|lx)==0)
97 if (hx<0)
return (
x-
x)/
zero;
101 if (hx >= 0x7ff00000)
return x+
x;
104 i = (hx+0x95f64)&0x100000;
108 if((0x000fffff&(2+hx))<3) {
109 if(
f==
zero) {
if(
k==0)
return zero;
else {dk=(double)
k;
112 R =
f*
f*(0.5-0.33333333333333333*
f);
113 if(
k==0)
return f-R;
else {dk=(double)
k;
128 if(
k==0)
return f-(hfsq-
s*(hfsq+R));
else
131 if(
k==0)
return f-
s*(
f-R);
else
References EXTRACT_WORDS, GET_HIGH_WORD, i, j, k, Lg1, Lg2, Lg3, Lg4, Lg5, Lg6, Lg7, ln2_hi, ln2_lo, SET_HIGH_WORD, two54, and zero.
◆ Lg1
const double Lg1 = 6.666666666666735130e-01 |
|
static |
◆ Lg2
const double Lg2 = 3.999999999940941908e-01 |
|
static |
◆ Lg3
const double Lg3 = 2.857142874366239149e-01 |
|
static |
◆ Lg4
const double Lg4 = 2.222219843214978396e-01 |
|
static |
◆ Lg5
const double Lg5 = 1.818357216161805012e-01 |
|
static |
◆ Lg6
const double Lg6 = 1.531383769920937332e-01 |
|
static |
◆ Lg7
const double Lg7 = 1.479819860511658591e-01 |
|
static |
◆ ln2_hi
const double ln2_hi = 6.93147180369123816490e-01 |
|
static |
◆ ln2_lo
const double ln2_lo = 1.90821492927058770002e-10 |
|
static |
◆ two54
const double two54 = 1.80143985094819840000e+16 |
|
static |
◆ zero