diff options
Diffstat (limited to 'newlib/libc/stdlib/dtoa.c')
-rw-r--r-- | newlib/libc/stdlib/dtoa.c | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/newlib/libc/stdlib/dtoa.c b/newlib/libc/stdlib/dtoa.c index 3911f0e7b..1ea1c5560 100644 --- a/newlib/libc/stdlib/dtoa.c +++ b/newlib/libc/stdlib/dtoa.c @@ -291,7 +291,7 @@ _DEFUN (_dtoa_r, #ifdef Sudden_Underflow i = (int) (word0 (d) >> Exp_shift1 & (Exp_mask >> Exp_shift1)); #else - if (i = (int) (word0 (d) >> Exp_shift1 & (Exp_mask >> Exp_shift1))) + if ((i = (int) (word0 (d) >> Exp_shift1 & (Exp_mask >> Exp_shift1))) != 0) { #endif d2.d = d.d; @@ -337,8 +337,8 @@ _DEFUN (_dtoa_r, /* d is denormalized */ i = bbits + be + (Bias + (P - 1) - 1); - x = i > 32 ? word0 (d) << 64 - i | word1 (d) >> i - 32 - : word1 (d) << 32 - i; + x = (i > 32) ? (word0 (d) << (64 - i)) | (word1 (d) >> (i - 32)) + : (word1 (d) << (32 - i)); d2.d = x; word0 (d2) -= 31 * Exp_msk1; /* adjust exponent */ i -= (Bias + (P - 1) - 1) + 1; @@ -388,11 +388,11 @@ _DEFUN (_dtoa_r, try_quick = 0; } leftright = 1; + ilim = ilim1 = -1; switch (mode) { case 0: case 1: - ilim = ilim1 = -1; i = 18; ndigits = 0; break; @@ -449,7 +449,7 @@ _DEFUN (_dtoa_r, } d.d /= ds; } - else if (j1 = -k) + else if ((j1 = -k) != 0) { d.d *= tens[j1 & 0xf]; for (j = j1 >> 4; j; j >>= 1, i++) @@ -564,7 +564,7 @@ _DEFUN (_dtoa_r, if (i == ilim) { d.d += d.d; - if (d.d > ds || d.d == ds && L & 1) + if ((d.d > ds) || ((d.d == ds) && (L & 1))) { bump_up: while (*--s == '9') @@ -640,7 +640,7 @@ _DEFUN (_dtoa_r, Bfree (ptr, b); b = b1; } - if (j = b5 - m5) + if ((j = b5 - m5) != 0) b = pow5mult (ptr, b, j); } else @@ -652,6 +652,7 @@ _DEFUN (_dtoa_r, /* Check for special case that d is a normalized power of 2. */ + spec_case = 0; if (mode < 2) { if (!word1 (d) && !(word0 (d) & Bndry_mask) @@ -665,8 +666,6 @@ _DEFUN (_dtoa_r, s2 += Log2P; spec_case = 1; } - else - spec_case = 0; } /* Arrange for convenient computation of quotients: @@ -678,10 +677,10 @@ _DEFUN (_dtoa_r, */ #ifdef Pack_32 - if (i = ((s5 ? 32 - hi0bits (S->_x[S->_wds - 1]) : 1) + s2) & 0x1f) + if ((i = ((s5 ? 32 - hi0bits (S->_x[S->_wds - 1]) : 1) + s2) & 0x1f) != 0) i = 32 - i; #else - if (i = ((s5 ? 32 - hi0bits (S->_x[S->_wds - 1]) : 1) + s2) & 0xf) + if ((i = ((s5 ? 32 - hi0bits (S->_x[S->_wds - 1]) : 1) + s2) & 0xf) != 0) i = 16 - i; #endif if (i > 4) @@ -765,17 +764,17 @@ _DEFUN (_dtoa_r, goto ret; } #endif - if (j < 0 || j == 0 && !mode + if ((j < 0) || ((j == 0) && !mode #ifndef ROUND_BIASED && !(word1 (d) & 1) #endif - ) + )) { if (j1 > 0) { b = lshift (ptr, b, 1); j1 = cmp (b, S); - if ((j1 > 0 || j1 == 0 && dig & 1) + if (((j1 > 0) || ((j1 == 0) && (dig & 1))) && dig++ == '9') goto round_9_up; } @@ -819,7 +818,7 @@ _DEFUN (_dtoa_r, b = lshift (ptr, b, 1); j = cmp (b, S); - if (j > 0 || j == 0 && dig & 1) + if ((j > 0) || ((j == 0) && (dig & 1))) { roundoff: while (*--s == '9') |