| line |
true |
false |
branch |
|
115
|
0 |
535 |
assert(j >= 128); |
|
116
|
0 |
535 |
assert(j <= 180); |
|
209
|
0 |
10 |
while (digits >= 10000) { |
|
222
|
0 |
10 |
if (digits >= 100) { |
|
228
|
0 |
10 |
if (digits >= 10) { |
|
246
|
30 |
35 |
while (digits >= 10000) { |
|
259
|
0 |
35 |
if (digits >= 100) { |
|
265
|
0 |
35 |
if (digits >= 10) { |
|
284
|
15 |
25 |
for (; i < count - 1; i += 2) { |
|
290
|
10 |
15 |
if (i < count) { |
|
303
|
45 |
370 |
if (digits == 0) { |
|
308
|
740 |
370 |
for (i = 0; i < 5; i += 4) { |
|
351
|
0 |
0 |
if (mantissa) { |
|
355
|
0 |
0 |
if (sign) { |
|
379
|
0 |
35 |
if (ieeeExponent == ((1u << DOUBLE_EXPONENT_BITS) - 1u)) { |
|
382
|
10 |
25 |
if (ieeeExponent == 0 && ieeeMantissa == 0) { |
|
|
0 |
10 |
if (ieeeExponent == 0 && ieeeMantissa == 0) { |
|
384
|
0 |
0 |
if (ieeeSign) { |
|
388
|
0 |
0 |
if (precision > 0) { |
|
399
|
10 |
25 |
if (ieeeExponent == 0) { |
|
413
|
10 |
25 |
if (ieeeSign) { |
|
416
|
10 |
25 |
if (e2 >= -52) { |
|
417
|
0 |
10 |
const uint32_t idx = e2 < 0 ? 0 : indexForExponent((uint32_t) e2); |
|
424
|
20 |
10 |
for (i = len - 1; i >= 0; --i) { |
|
429
|
0 |
20 |
if (nonzero) { |
|
432
|
10 |
10 |
} else if (digits != 0) { |
|
440
|
25 |
10 |
if (!nonzero) { |
|
443
|
35 |
0 |
if (precision > 0) { |
|
449
|
35 |
0 |
if (e2 < 0) { |
|
458
|
0 |
35 |
if (blocks <= MIN_BLOCK_2[idx]) { |
|
462
|
10 |
25 |
} else if (i < MIN_BLOCK_2[idx]) { |
|
467
|
255 |
0 |
for (; i < blocks; ++i) { |
|
470
|
25 |
230 |
if (p >= POW10_OFFSET_2[idx + 1]) { |
|
485
|
220 |
10 |
if (i < blocks - 1) { |
|
491
|
90 |
10 |
for (k = 0; k < 9 - maximum; ++k) { |
|
498
|
10 |
0 |
if (lastDigit != 5) { |
|
504
|
0 |
0 |
|| (requiredTwos < 60 && multipleOfPowerOf2(m2, (uint32_t) requiredTwos)); |
|
|
0 |
0 |
|| (requiredTwos < 60 && multipleOfPowerOf2(m2, (uint32_t) requiredTwos)); |
|
|
0 |
0 |
|| (requiredTwos < 60 && multipleOfPowerOf2(m2, (uint32_t) requiredTwos)); |
|
505
|
0 |
0 |
roundUp = trailingZeros ? 2 : 1; |
|
511
|
0 |
10 |
if (maximum > 0) { |
|
521
|
10 |
25 |
if (roundUp != 0) { |
|
527
|
10 |
0 |
if (roundIndex == -1 || (c = result[roundIndex], c == '-')) { |
|
|
0 |
10 |
if (roundIndex == -1 || (c = result[roundIndex], c == '-')) { |
|
529
|
0 |
0 |
if (dotIndex > 0) { |
|
536
|
0 |
10 |
if (c == '.') { |
|
539
|
0 |
10 |
} else if (c == '9') { |
|
544
|
0 |
10 |
if (roundUp == 2 && c % 2 == 0) { |
|
|
0 |
0 |
if (roundUp == 2 && c % 2 == 0) { |
|
589
|
0 |
35 |
if (ieeeExponent == ((1u << DOUBLE_EXPONENT_BITS) - 1u)) { |
|
592
|
10 |
25 |
if (ieeeExponent == 0 && ieeeMantissa == 0) { |
|
|
0 |
10 |
if (ieeeExponent == 0 && ieeeMantissa == 0) { |
|
594
|
0 |
0 |
if (ieeeSign) { |
|
598
|
0 |
0 |
if (precision > 0) { |
|
610
|
10 |
25 |
if (ieeeExponent == 0) { |
|
625
|
10 |
25 |
if (ieeeSign) { |
|
633
|
10 |
25 |
if (e2 >= -52) { |
|
634
|
0 |
10 |
const uint32_t idx = e2 < 0 ? 0 : indexForExponent((uint32_t) e2); |
|
641
|
20 |
10 |
for (i = len - 1; i >= 0; --i) { |
|
646
|
0 |
20 |
if (printedDigits != 0) { |
|
647
|
0 |
0 |
if (printedDigits + 9 > precision) { |
|
654
|
10 |
10 |
} else if (digits != 0) { |
|
657
|
0 |
10 |
if (availableDigits > precision) { |
|
660
|
10 |
0 |
if (printDecimalPoint) { |
|
672
|
35 |
0 |
if (e2 < 0 && availableDigits == 0) { |
|
|
35 |
0 |
if (e2 < 0 && availableDigits == 0) { |
|
678
|
265 |
0 |
for (i = MIN_BLOCK_2[idx]; i < 200; ++i) { |
|
683
|
265 |
0 |
digits = (p >= POW10_OFFSET_2[idx + 1]) ? 0 : mulShift_mod1e9(m2 << 8, POW10_SPLIT_2[p], j + 8); |
|
688
|
230 |
35 |
if (printedDigits != 0) { |
|
689
|
35 |
195 |
if (printedDigits + 9 > precision) { |
|
696
|
25 |
10 |
} else if (digits != 0) { |
|
699
|
0 |
25 |
if (availableDigits > precision) { |
|
702
|
25 |
0 |
if (printDecimalPoint) { |
|
720
|
0 |
35 |
if (availableDigits == 0) { |
|
725
|
35 |
0 |
if (availableDigits > maximum) { |
|
726
|
265 |
35 |
for (k = 0; k < availableDigits - maximum; ++k) { |
|
736
|
25 |
10 |
if (lastDigit != 5) { |
|
744
|
10 |
0 |
|| (requiredTwos < 60 && multipleOfPowerOf2(m2, (uint32_t) requiredTwos)); |
|
|
0 |
10 |
|| (requiredTwos < 60 && multipleOfPowerOf2(m2, (uint32_t) requiredTwos)); |
|
|
0 |
0 |
|| (requiredTwos < 60 && multipleOfPowerOf2(m2, (uint32_t) requiredTwos)); |
|
745
|
0 |
10 |
if (rexp < 0) { |
|
747
|
0 |
0 |
trailingZeros = trailingZeros && multipleOfPowerOf5(m2, (uint32_t) requiredFives); |
|
|
0 |
0 |
trailingZeros = trailingZeros && multipleOfPowerOf5(m2, (uint32_t) requiredFives); |
|
749
|
0 |
10 |
roundUp = trailingZeros ? 2 : 1; |
|
755
|
35 |
0 |
if (printedDigits != 0) { |
|
756
|
10 |
25 |
if (digits == 0) { |
|
763
|
0 |
0 |
if (printDecimalPoint) { |
|
773
|
10 |
25 |
if (roundUp != 0) { |
|
778
|
10 |
0 |
if (roundIndex == -1 || (c = result[roundIndex], c == '-')) { |
|
|
0 |
10 |
if (roundIndex == -1 || (c = result[roundIndex], c == '-')) { |
|
783
|
0 |
10 |
if (c == '.') { |
|
785
|
0 |
10 |
} else if (c == '9') { |
|
790
|
0 |
10 |
if (roundUp == 2 && c % 2 == 0) { |
|
|
0 |
0 |
if (roundUp == 2 && c % 2 == 0) { |
|
799
|
25 |
10 |
if (exp < 0) { |
|
806
|
10 |
25 |
if (exp >= 100) { |