Go to the source code of this file.
|
static const double | one = 1.0 |
|
static const double | tiny = 1.0e-300 |
|
◆ __ieee754_sqrt()
Definition at line 87 of file e_sqrt.c.
97 if((ix0&0x7ff00000)==0x7ff00000) {
103 if(((ix0&(~sign))|ix1)==0)
return x;
112 ix0 |= (ix1>>11); ix1 <<= 21;
114 for(
i=0;(ix0&0x00100000)==0;
i++) ix0<<=1;
116 ix0 |= (ix1>>(32-
i));
120 ix0 = (ix0&0x000fffff)|0x00100000;
122 ix0 += ix0 + ((ix1&sign)>>31);
128 ix0 += ix0 + ((ix1&sign)>>31);
130 q = q1 =
s0 =
s1 = 0;
140 ix0 += ix0 + ((ix1&sign)>>31);
149 if((
t<ix0)||((
t==ix0)&&(
t1<=ix1))) {
151 if(((
t1&sign)==sign)&&(
s1&sign)==0)
s0 += 1;
153 if (ix1 <
t1) ix0 -= 1;
157 ix0 += ix0 + ((ix1&sign)>>31);
167 if (q1==(
u_int32_t)0xffffffff) { q1=0;
q += 1;}
175 ix0 = (
q>>1)+0x3fe00000;
177 if ((
q&1)==1) ix1 |= sign;
References EXTRACT_WORDS, i, INSERT_WORDS, one, and tiny.
◆ one
◆ tiny
const double tiny = 1.0e-300 |
|
static |