/bionic/libm/src/ |
H A D | s_logbf.c | 29 int32_t ix; local 30 GET_FLOAT_WORD(ix,x); 31 ix &= 0x7fffffff; /* high |x| */ 32 if(ix==0) return (float)-1.0/fabsf(x); 33 if(ix>=0x7f800000) return x*x; 34 if(ix<0x00800000) { 36 GET_FLOAT_WORD(ix,x); 37 ix &= 0x7fffffff; 38 return (float) ((ix>>23)-127-25); 40 return (float) ((ix>>2 [all...] |
H A D | s_logb.c | 32 int32_t lx,ix; local 33 EXTRACT_WORDS(ix,lx,x); 34 ix &= 0x7fffffff; /* high |x| */ 35 if((ix|lx)==0) return -1.0/fabs(x); 36 if(ix>=0x7ff00000) return x*x; 37 if(ix<0x00100000) { 39 GET_FLOAT_WORD(ix,x); 40 ix &= 0x7fffffff; 41 return (float) ((ix>>20)-1023-54); 43 return (double) ((ix>>2 [all...] |
H A D | s_fabsf.c | 30 u_int32_t ix; local 31 GET_FLOAT_WORD(ix,x); 32 SET_FLOAT_WORD(x,ix&0x7fffffff);
|
H A D | s_finitef.c | 30 int32_t ix; local 31 GET_FLOAT_WORD(ix,x); 32 return (int)((u_int32_t)((ix&0x7fffffff)-0x7f800000)>>31);
|
H A D | e_sqrtf.c | 30 int32_t ix,s,q,m,t,i; local 33 GET_FLOAT_WORD(ix,x); 36 if((ix&0x7f800000)==0x7f800000) { 41 if(ix<=0) { 42 if((ix&(~sign))==0) return x;/* sqrt(+-0) = +-0 */ 43 else if(ix<0) 47 m = (ix>>23); 49 for(i=0;(ix&0x00800000)==0;i++) ix<<=1; 53 ix [all...] |
H A D | s_ilogb.c | 31 int32_t hx,lx,ix; local 40 for (ix = -1043; lx>0; lx<<=1) ix -=1; 42 for (ix = -1022,hx<<=11; hx>0; hx<<=1) ix -=1; 44 return ix;
|
H A D | s_tan.c | 54 int32_t n, ix; local 57 GET_HIGH_WORD(ix,x); 60 ix &= 0x7fffffff; 61 if(ix <= 0x3fe921fb) { 62 if(ix<0x3e300000) /* x < 2**-28 */ 68 else if (ix>=0x7ff00000) return x-x; /* NaN */
|
H A D | s_ilogbf.c | 27 int32_t hx,ix; local 35 for (ix = -126,hx<<=8; hx>0; hx<<=1) ix -=1; 36 return ix;
|
H A D | s_frexp.c | 39 int32_t hx, ix, lx; local 41 ix = 0x7fffffff&hx; 43 if(ix>=0x7ff00000||((ix|lx)==0)) return x; /* 0,inf,nan */ 44 if (ix<0x00100000) { /* subnormal */ 47 ix = hx&0x7fffffff; 50 *eptr += (ix>>20)-1022;
|
H A D | s_frexpf.c | 29 int32_t hx,ix; local 31 ix = 0x7fffffff&hx; 33 if(ix>=0x7f800000||(ix==0)) return x; /* 0,inf,nan */ 34 if (ix<0x00800000) { /* subnormal */ 37 ix = hx&0x7fffffff; 40 *eptr += (ix>>23)-126;
|
H A D | e_cosh.c | 48 int32_t ix; local 52 GET_HIGH_WORD(ix,x); 53 ix &= 0x7fffffff; 56 if(ix>=0x7ff00000) return x*x; 59 if(ix<0x3fd62e43) { 62 if (ix<0x3c800000) return w; /* cosh(tiny) = 1 */ 67 if (ix < 0x40360000) { 73 if (ix < 0x40862E42) return half*__ieee754_exp(fabs(x)); 77 if (ix<0x408633CE || 78 ((ix [all...] |
H A D | e_coshf.c | 29 int32_t ix; local 31 GET_FLOAT_WORD(ix,x); 32 ix &= 0x7fffffff; 35 if(ix>=0x7f800000) return x*x; 38 if(ix<0x3eb17218) { 41 if (ix<0x39800000) return one; /* cosh(tiny) = 1 */ 46 if (ix < 0x41100000) { 52 if (ix < 0x42b17217) return half*__ieee754_expf(fabsf(x)); 55 if (ix<=0x42b2d4fc) {
|
H A D | e_sinh.c | 45 int32_t ix,jx; local 50 ix = jx&0x7fffffff; 53 if(ix>=0x7ff00000) return x+x; 58 if (ix < 0x40360000) { /* |x|<22 */ 59 if (ix<0x3e300000) /* |x|<2**-28 */ 62 if(ix<0x3ff00000) return h*(2.0*t-t*t/(t+one)); 67 if (ix < 0x40862E42) return h*__ieee754_exp(fabs(x)); 71 if (ix<0x408633CE || ((ix==0x408633ce)&&(lx<=(u_int32_t)0x8fb9f87d))) {
|
H A D | s_tanf.c | 37 int32_t n, hx, ix; local 40 ix = hx & 0x7fffffff; 42 if(ix <= 0x3f490fda) { /* |x| ~<= pi/4 */ 43 if(ix<0x39800000) /* |x| < 2**-12 */ 47 if(ix<=0x407b53d1) { /* |x| ~<= 5*pi/4 */ 48 if(ix<=0x4016cbe3) /* |x| ~<= 3pi/4 */ 53 if(ix<=0x40e231d5) { /* |x| ~<= 9*pi/4 */ 54 if(ix<=0x40afeddf) /* |x| ~<= 7*pi/4 */ 61 else if (ix>=0x7f800000) return x-x;
|
H A D | s_cos.c | 55 int32_t n, ix; local 58 GET_HIGH_WORD(ix,x); 61 ix &= 0x7fffffff; 62 if(ix <= 0x3fe921fb) { 63 if(ix<0x3e400000) /* if x < 2**-27 */ 69 else if (ix>=0x7ff00000) return x-x;
|
H A D | s_sin.c | 55 int32_t n, ix; local 58 GET_HIGH_WORD(ix,x); 61 ix &= 0x7fffffff; 62 if(ix <= 0x3fe921fb) { 63 if(ix<0x3e400000) /* |x| < 2**-27 */ 69 else if (ix>=0x7ff00000) return x-x;
|
H A D | e_sinhf.c | 29 int32_t ix,jx; local 32 ix = jx&0x7fffffff; 35 if(ix>=0x7f800000) return x+x; 40 if (ix < 0x41100000) { /* |x|<9 */ 41 if (ix<0x39800000) /* |x|<2**-12 */ 44 if(ix<0x3f800000) return h*((float)2.0*t-t*t/(t+one)); 49 if (ix < 0x42b17217) return h*__ieee754_expf(fabsf(x)); 52 if (ix<=0x42b2d4fc) {
|
H A D | s_scalbnf.c | 34 int32_t k,ix; local 35 GET_FLOAT_WORD(ix,x); 36 k = (ix&0x7f800000)>>23; /* extract exponent */ 38 if ((ix&0x7fffffff)==0) return x; /* +-0 */ 40 GET_FLOAT_WORD(ix,x); 41 k = ((ix&0x7f800000)>>23) - 25; 48 {SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23)); return x;} 54 SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23));
|
H A D | s_copysignf.c | 32 u_int32_t ix,iy; local 33 GET_FLOAT_WORD(ix,x); 35 SET_FLOAT_WORD(x,(ix&0x7fffffff)|(iy&0x80000000));
|
H A D | e_atanh.c | 47 int32_t hx,ix; local 50 ix = hx&0x7fffffff; 51 if ((ix|((lx|(-lx))>>31))>0x3ff00000) /* |x|>1 */ 53 if(ix==0x3ff00000) 55 if(ix<0x3e300000&&(huge+x)>zero) return x; /* x<2**-28 */ 56 SET_HIGH_WORD(x,ix); 57 if(ix<0x3fe00000) { /* x < 0.5 */
|
H A D | e_atanhf.c | 31 int32_t hx,ix; local 33 ix = hx&0x7fffffff; 34 if (ix>0x3f800000) /* |x|>1 */ 36 if(ix==0x3f800000) 38 if(ix<0x31800000&&(huge+x)>zero) return x; /* x<2**-28 */ 39 SET_FLOAT_WORD(x,ix); 40 if(ix<0x3f000000) { /* x < 0.5 */
|
H A D | s_nexttowardf.c | 29 int32_t hx,ix; local 32 ix = hx&0x7fffffff; /* |x| */ 35 if((ix>0x7f800000) || 40 if(ix==0) { /* x == 0 */ 49 ix = hx&0x7f800000; 50 if(ix>=0x7f800000) return x+x; /* overflow */ 51 if(ix<0x00800000) { /* underflow */
|
H A D | s_asinh.c | 40 int32_t hx,ix; local 42 ix = hx&0x7fffffff; 43 if(ix>=0x7ff00000) return x+x; /* x is inf or NaN */ 44 if(ix< 0x3e300000) { /* |x|<2**-28 */ 47 if(ix>0x41b00000) { /* |x| > 2**28 */ 49 } else if (ix>0x40000000) { /* 2**28 > |x| > 2.0 */
|
H A D | s_asinhf.c | 32 int32_t hx,ix; local 34 ix = hx&0x7fffffff; 35 if(ix>=0x7f800000) return x+x; /* x is inf or NaN */ 36 if(ix< 0x31800000) { /* |x|<2**-28 */ 39 if(ix>0x4d800000) { /* |x| > 2**28 */ 41 } else if (ix>0x40000000) { /* 2**28 > |x| > 2.0 */
|
H A D | s_modff.c | 39 u_int32_t ix; local 41 GET_FLOAT_WORD(ix,x); 42 SET_FLOAT_WORD(x,ix&0x80000000); /* return +-0 */ 50 u_int32_t ix; local 52 GET_FLOAT_WORD(ix,x); 53 SET_FLOAT_WORD(x,ix&0x80000000); /* return +-0 */
|