Changeset 41954 in webkit for trunk/JavaScriptCore/wtf/dtoa.cpp
- Timestamp:
- Mar 24, 2009, 3:22:49 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/wtf/dtoa.cpp
r40059 r41954 825 825 #ifdef Pack_32 826 826 if (k < Ebits) { 827 d0 = Exp_1 | y >> Ebits - k;827 d0 = Exp_1 | (y >> (Ebits - k)); 828 828 w = xa > xa0 ? *--xa : 0; 829 d1 = y << (32 - Ebits) + k | w >> Ebits - k;829 d1 = (y << (32 - Ebits + k)) | (w >> (Ebits - k)); 830 830 goto ret_d; 831 831 } 832 832 z = xa > xa0 ? *--xa : 0; 833 833 if (k -= Ebits) { 834 d0 = Exp_1 | y << k | z >> 32 - k;834 d0 = Exp_1 | (y << k) | (z >> (32 - k)); 835 835 y = xa > xa0 ? *--xa : 0; 836 d1 = z << k | y >> 32 - k;836 d1 = (z << k) | (y >> (32 - k)); 837 837 } else { 838 838 d0 = Exp_1 | y; … … 890 890 if ((y = d1)) { 891 891 if ((k = lo0bits(&y))) { 892 x[0] = y | z << 32 - k;892 x[0] = y | (z << (32 - k)); 893 893 z >>= k; 894 894 } else … … 1350 1350 word0(rv) = (P + 2) * Exp_msk1; 1351 1351 else 1352 word0(rv) &= 0xffffffff << j - 32;1352 word0(rv) &= 0xffffffff << (j - 32); 1353 1353 } else 1354 1354 word1(rv) &= 0xffffffff << j; … … 2012 2012 2013 2013 i = bbits + be + (Bias + (P - 1) - 1); 2014 x = i > 32 ? word0(d) << 64 - i | word1(d) >> i - 322015 : word1(d) << 32 - i;2014 x = (i > 32) ? (word0(d) << (64 - i)) | (word1(d) >> (i - 32)) 2015 : word1(d) << (32 - i); 2016 2016 dval(d2) = x; 2017 2017 word0(d2) -= 31 * Exp_msk1; /* adjust exponent */ … … 2194 2194 if (i == ilim) { 2195 2195 dval(d) += dval(d); 2196 if (dval(d) > ds || dval(d) == ds && L & 1) {2196 if (dval(d) > ds || (dval(d) == ds && (L & 1))) { 2197 2197 bump_up: 2198 2198 while (*--s == '9') … … 2335 2335 goto ret; 2336 2336 } 2337 if (j < 0 || j == 0 && !(word1(d) & 1)) {2337 if (j < 0 || (j == 0 && !(word1(d) & 1))) { 2338 2338 if (!b->x[0] && b->wds <= 1) { 2339 2339 #ifdef SET_INEXACT … … 2345 2345 b = lshift(b, 1); 2346 2346 j1 = cmp(b, S); 2347 if ((j1 > 0 || j1 == 0 && dig & 1) && dig++ == '9')2347 if ((j1 > 0 || (j1 == 0 && (dig & 1))) && dig++ == '9') 2348 2348 goto round_9_up; 2349 2349 } … … 2390 2390 b = lshift(b, 1); 2391 2391 j = cmp(b, S); 2392 if (j > 0 || j == 0 && dig & 1) {2392 if (j > 0 || (j == 0 && (dig & 1))) { 2393 2393 roundoff: 2394 2394 while (*--s == '9')
Note:
See TracChangeset
for help on using the changeset viewer.