/* determine ix = ilogb(x) */
if (hx < 0x00800000) { /* subnormal x */
- for (ix = -126, i=hx<<8; i>0; i<<=1) ix -=1;
+ for (ix = -126, i=hx<<8; i>0; i<<=1) ix--;
} else
ix = (hx>>23) - 127;
/* determine iy = ilogb(y) */
if (hy < 0x00800000) { /* subnormal y */
- for (iy = -126, i=hy<<8; i>0; i<<=1) iy -=1;
+ for (iy = -126, i=hy<<8; i>0; i<<=1) iy--;
} else
iy = (hy>>23) - 127;
}
while (hx < 0x00800000) { /* normalize x */
hx <<= 1;
- iy -= 1;
+ iy--;
}
if (iy >= -126) { /* normalize output */
hx = (hx-0x00800000)|((iy+127)<<23);