X-Git-Url: http://nsz.repo.hu/git/?p=libm;a=blobdiff_plain;f=src%2Fmath%2Fremquo.c;h=79c9a55e02afa85b55660233ab93a41147b09c6c;hp=7ef0670625464a4a4e707e4dc5f0ec8b0b8a0a45;hb=5298ab468eb88cace2413703ac409009efaa8ca7;hpb=781e3284dddd0d9cc713603f4bd05442df78e09a diff --git a/src/math/remquo.c b/src/math/remquo.c index 7ef0670..79c9a55 100644 --- a/src/math/remquo.c +++ b/src/math/remquo.c @@ -55,9 +55,9 @@ double remquo(double x, double y, int *quo) /* determine ix = ilogb(x) */ if (hx < 0x00100000) { /* subnormal x */ if (hx == 0) { - for (ix = -1043, i=lx; i>0; i<<=1) ix -=1; + for (ix = -1043, i=lx; i>0; i<<=1) ix--; } else { - for (ix = -1022, i=hx<<11; i>0; i<<=1) ix -=1; + for (ix = -1022, i=hx<<11; i>0; i<<=1) ix--; } } else ix = (hx>>20) - 1023; @@ -65,9 +65,9 @@ double remquo(double x, double y, int *quo) /* determine iy = ilogb(y) */ if (hy < 0x00100000) { /* subnormal y */ if (hy == 0) { - for (iy = -1043, i=ly; i>0; i<<=1) iy -=1; + for (iy = -1043, i=ly; i>0; i<<=1) iy--; } else { - for (iy = -1022, i=hy<<11; i>0; i<<=1) iy -=1; + for (iy = -1022, i=hy<<11; i>0; i<<=1) iy--; } } else iy = (hy>>20) - 1023; @@ -134,7 +134,7 @@ double remquo(double x, double y, int *quo) while (hx < 0x00100000) { /* normalize x */ hx = hx + hx + (lx>>31); lx = lx + lx; - iy -= 1; + iy--; } if (iy >= -1022) { /* normalize output */ hx = (hx-0x00100000)|((iy+1023)<<20); @@ -157,11 +157,11 @@ fixup: if (y < 0x1p-1021) { if (x + x > y || (x + x == y && (q & 1))) { q++; - x-=y; + x -= y; } } else if (x > 0.5*y || (x == 0.5*y && (q & 1))) { q++; - x-=y; + x -= y; } GET_HIGH_WORD(hx, x); SET_HIGH_WORD(x, hx ^ sx);