/libm/ |
A D | s_scalbn.c | 31 int32_t k, hx, lx; in scalbln() local 35 if (k == 0) { /* 0 or subnormal x */ in scalbln() 40 k = ((hx & 0x7ff00000) >> 20) - 54; in scalbln() 42 if (k == 0x7ff) in scalbln() 44 k = k + n; in scalbln() 45 if (k > 0x7fe) in scalbln() 49 if (k > 0) { /* normal result */ in scalbln() 50 SET_HIGH_WORD(x, (hx & 0x800fffff) | (k << 20)); in scalbln() 53 if (k <= -54) { in scalbln() 58 k += 54; /* subnormal result */ in scalbln() [all …]
|
A D | s_log1p.c | 97 int32_t k,hx,hu=0,ax; in log1p() local 102 k = 1; in log1p() 119 if(k!=0) { in log1p() 123 k = (hu>>20)-1023; in log1p() 129 k = (hu>>20)-1023; in log1p() 136 k += 1; in log1p() 144 if(f==zero) {if(k==0) return zero; in log1p() 145 else {c += k*ln2_lo; return k*ln2_hi+c;} in log1p() 148 if(k==0) return f-R; else in log1p() 149 return k*ln2_hi-((R-(k*ln2_lo+c))-f); in log1p() [all …]
|
A D | e_log10.c | 59 int32_t i,k,hx; in __ieee754_log10() local 64 k=0; in __ieee754_log10() 69 k -= 54; x *= two54; /* subnormal number, scale up x */ in __ieee754_log10() 73 k += (hx>>20)-1023; in __ieee754_log10() 74 i = ((u_int32_t)k&0x80000000)>>31; in __ieee754_log10() 76 y = (double)(k+i); in __ieee754_log10()
|
A D | s_expm1.c | 128 int32_t k,xsb; in expm1() local 158 {hi = x - ln2_hi; lo = ln2_lo; k = 1;} in expm1() 160 {hi = x + ln2_hi; lo = -ln2_lo; k = -1;} in expm1() 163 t = k; in expm1() 174 else k = 0; in expm1() 182 if(k==0) return x - (x*e-hxs); /* c is 0 */ in expm1() 186 if(k== -1) return 0.5*(x-e)-0.5; in expm1() 187 if(k==1) { in expm1() 191 if (k <= -2 || k>56) { /* suffice to return exp(x)-1 */ in expm1() 199 if(k<20) { in expm1() [all …]
|
A D | e_log.c | 83 int32_t k,hx,i,j; in __ieee754_log() local 88 k=0; in __ieee754_log() 93 k -= 54; x *= two54; /* subnormal number, scale up x */ in __ieee754_log() 97 k += (hx>>20)-1023; in __ieee754_log() 101 k += (i>>20); in __ieee754_log() 104 if(f==zero) {if(k==0) return zero; else {dk=(double)k; in __ieee754_log() 108 if(k==0) return f-R; else {dk=(double)k; in __ieee754_log() 112 dk = (double)k; in __ieee754_log() 123 if(k==0) return f-(hfsq-s*(hfsq+R)); else in __ieee754_log() 126 if(k==0) return f-s*(f-R); else in __ieee754_log()
|
A D | e_exp.c | 103 int32_t k=0; in __ieee754_exp() local 127 hi = x-ln2HI[xsb]; lo=ln2LO[xsb]; k = 1-xsb-xsb; in __ieee754_exp() 129 k = (int32_t)(invln2*x+halF[xsb]); in __ieee754_exp() 130 t = k; in __ieee754_exp() 139 else k = 0; in __ieee754_exp() 144 if(k==0) return one-((x*c)/(c-2.0)-x); in __ieee754_exp() 146 if(k >= -1021) { in __ieee754_exp() 149 SET_HIGH_WORD(y,hy+(k<<20)); /* add k to y's exponent */ in __ieee754_exp() 154 SET_HIGH_WORD(y,hy+((k+1000)<<20)); /* add k to y's exponent */ in __ieee754_exp()
|
A D | e_pow.c | 98 int32_t i,j,k,yisint,n; in __ieee754_pow() local 130 if(k>20) { in __ieee754_pow() 131 j = ly>>(52-k); in __ieee754_pow() 134 j = iy>>(20-k); in __ieee754_pow() 214 v = one/(ax+bp[k]); in __ieee754_pow() 221 t_l = ax - (t_h-bp[k]); in __ieee754_pow() 239 z_l = cp_l*p_h+p_l*cp+dp_l[k]; in __ieee754_pow() 242 t1 = (((z_h+z_l)+dp_h[k])+t); in __ieee754_pow() 244 t2 = z_l-(((t1-t)-dp_h[k])-z_h); in __ieee754_pow() 275 k = (i>>20)-0x3ff; in __ieee754_pow() [all …]
|
A D | e_log2.c | 76 int32_t k,hx,i,j; in __ieee754_log2() local 81 k=0; in __ieee754_log2() 86 k -= 54; x *= two54; /* subnormal number, scale up x */ in __ieee754_log2() 90 k += (hx>>20)-1023; in __ieee754_log2() 94 k += (i>>20); in __ieee754_log2() 95 dk = (double) k; in __ieee754_log2()
|
A D | e_hypot.c | 50 int32_t j,k,ha,hb; in __ieee754_hypot() local 60 k=0; in __ieee754_hypot() 72 ha -= 0x25800000; hb -= 0x25800000; k += 600; in __ieee754_hypot() 85 k -= 1022; in __ieee754_hypot() 89 k -= 600; in __ieee754_hypot() 111 if(k!=0) { in __ieee754_hypot() 115 SET_HIGH_WORD(t1,high+(k<<20)); in __ieee754_hypot()
|
A D | e_atan2.c | 53 int32_t k,m,hx,hy,ix,iy; in __ieee754_atan2() local 100 k = (iy-ix)>>20; in __ieee754_atan2() 101 if(k > 60) z=pi_o_2+0.5*pi_lo; /* |y/x| > 2**60 */ in __ieee754_atan2() 102 else if(hx<0&&k<-60) z=0.0; /* |y|/x < -2**60 */ in __ieee754_atan2()
|
A D | k_rem_pio2.c | 152 int32_t jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih; in __kernel_rem_pio2() local 226 for(k=1;iq[jk-k]==0;k++); /* k = no. of terms needed */ in __kernel_rem_pio2() 228 for(i=jz+1;i<=jz+k;i++) { /* add q[jz+1] to q[jz+k] */ in __kernel_rem_pio2() 233 jz += k; in __kernel_rem_pio2() 260 for(fw=0.0,k=0;k<=jp&&k<=jz-i;k++) fw += PIo2[k]*q[i+k]; in __kernel_rem_pio2()
|
A D | e_jn.c | 150 double q0,q1,h,tmp; int32_t k,m; in __ieee754_jn() local 152 q0 = w; z = w+h; q1 = w*z - 1.0; k=1; in __ieee754_jn() 154 k += 1; z += h; in __ieee754_jn() 160 for(t=zero, i = 2*(n+k); i>=m; i -= 2) t = one/(i/x-t); in __ieee754_jn()
|