Go to the source code of this file.
|
static const double | one = 1.0 |
|
static const double | Zero [] = {0.0, -0.0,} |
|
◆ __ieee754_fmod()
Definition at line 23 of file e_fmod.c.
35 if((hy|ly)==0||(hx>=0x7ff00000)||
36 ((hy|((ly|-(
int32_t)ly)>>31))>0x7ff00000))
39 if((hx<hy)||(lx<ly))
return x;
47 for (ix = -1043,
i=lx;
i>0;
i<<=1) ix -=1;
49 for (ix = -1022,
i=(hx<<11);
i>0;
i<<=1) ix -=1;
51 }
else ix = (hx>>20)-1023;
56 for (iy = -1043,
i=ly;
i>0;
i<<=1) iy -=1;
58 for (iy = -1022,
i=(hy<<11);
i>0;
i<<=1) iy -=1;
60 }
else iy = (hy>>20)-1023;
64 hx = 0x00100000|(0x000fffff&hx);
68 hx = (hx<<
n)|(lx>>(32-
n));
76 hy = 0x00100000|(0x000fffff&hy);
80 hy = (hy<<
n)|(ly>>(32-
n));
91 hz=hx-hy;lz=lx-ly;
if(lx<ly) hz -= 1;
92 if(hz<0){hx = hx+hx+(lx>>31); lx = lx+lx;}
96 hx = hz+hz+(lz>>31); lx = lz+lz;
99 hz=hx-hy;lz=lx-ly;
if(lx<ly) hz -= 1;
100 if(hz>=0) {hx=hz;lx=lz;}
105 while(hx<0x00100000) {
106 hx = hx+hx+(lx>>31); lx = lx+lx;
110 hx = ((hx-0x00100000)|((iy+1023)<<20));
118 lx = (hx<<(32-
n))|(lx>>
n); hx = sx;
120 lx = hx>>(
n-32); hx = sx;
References EXTRACT_WORDS, i, INSERT_WORDS, one, and Zero.
◆ one
◆ Zero
const double Zero[] = {0.0, -0.0,} |
|
static |