Lines Matching defs:hx
33 int32_t n,hx,hy,hz,ix,iy,sx,i;
35 GET_FLOAT_WORD(hx,x);
37 sx = hx&0x80000000; /* sign of x */
38 hx ^=sx; /* |x| */
42 if(hy==0||(hx>=0x7f800000)|| /* y=0,or x not finite */
45 if(hx<hy) return x; /* |x|<|y| return x */
46 if(hx==hy)
50 if(hx<0x00800000) { /* subnormal x */
51 for (ix = -126,i=(hx<<8); i>0; i<<=1) ix -=1;
52 } else ix = (hx>>23)-127;
59 /* set up {hx,lx}, {hy,ly} and align y to x */
61 hx = 0x00800000|(0x007fffff&hx);
64 hx = hx<<n;
76 hz=hx-hy;
77 if(hz<0){hx = hx+hx;}
81 hx = hz+hz;
84 hz=hx-hy;
85 if(hz>=0) {hx=hz;}
88 if(hx==0) /* return sign(x)*0 */
90 while(hx<0x00800000) { /* normalize x */
91 hx = hx+hx;
95 hx = ((hx-0x00800000)|((iy+127)<<23));
96 SET_FLOAT_WORD(x,hx|sx);
99 hx >>= n;
100 SET_FLOAT_WORD(x,hx|sx);