line |
true |
false |
branch |
67
|
0 |
2 |
assert(v < 100000000000000000L); |
68
|
1 |
1 |
if (v >= 10000000000000000L) { return 17; } |
69
|
0 |
1 |
if (v >= 1000000000000000L) { return 16; } |
70
|
0 |
1 |
if (v >= 100000000000000L) { return 15; } |
71
|
0 |
1 |
if (v >= 10000000000000L) { return 14; } |
72
|
0 |
1 |
if (v >= 1000000000000L) { return 13; } |
73
|
0 |
1 |
if (v >= 100000000000L) { return 12; } |
74
|
0 |
1 |
if (v >= 10000000000L) { return 11; } |
75
|
0 |
1 |
if (v >= 1000000000L) { return 10; } |
76
|
0 |
1 |
if (v >= 100000000L) { return 9; } |
77
|
0 |
1 |
if (v >= 10000000L) { return 8; } |
78
|
0 |
1 |
if (v >= 1000000L) { return 7; } |
79
|
0 |
1 |
if (v >= 100000L) { return 6; } |
80
|
0 |
1 |
if (v >= 10000L) { return 5; } |
81
|
0 |
1 |
if (v >= 1000L) { return 4; } |
82
|
0 |
1 |
if (v >= 100L) { return 3; } |
83
|
0 |
1 |
if (v >= 10L) { return 2; } |
98
|
1 |
1 |
if (ieeeExponent == 0) { |
116
|
0 |
2 |
const uint32_t mmShift = ieeeMantissa != 0 || ieeeExponent <= 1; |
|
0 |
0 |
const uint32_t mmShift = ieeeMantissa != 0 || ieeeExponent <= 1; |
126
|
0 |
2 |
if (e2 >= 0) { |
144
|
0 |
0 |
if (q <= 21) { |
149
|
0 |
0 |
if (mvMod5 == 0) { |
151
|
0 |
0 |
} else if (acceptBounds) { |
180
|
0 |
2 |
if (q <= 1) { |
184
|
0 |
0 |
if (acceptBounds) { |
191
|
1 |
1 |
} else if (q < 63) { // TODO(ulfjack): Use a tighter bound here. |
198
|
0 |
1 |
printf("vr is trailing zeros=%s\n", vrIsTrailingZeros ? "true" : "false"); |
205
|
0 |
2 |
printf("vm is trailing zeros=%s\n", vmIsTrailingZeros ? "true" : "false"); |
206
|
0 |
2 |
printf("vr is trailing zeros=%s\n", vrIsTrailingZeros ? "true" : "false"); |
214
|
2 |
0 |
if (vmIsTrailingZeros || vrIsTrailingZeros) { |
|
0 |
2 |
if (vmIsTrailingZeros || vrIsTrailingZeros) { |
219
|
0 |
0 |
if (vpDiv10 <= vmDiv10) { |
235
|
0 |
0 |
printf("d-10=%s\n", vmIsTrailingZeros ? "true" : "false"); |
237
|
0 |
0 |
if (vmIsTrailingZeros) { |
241
|
0 |
0 |
if (vmMod10 != 0) { |
257
|
0 |
0 |
printf("vr is trailing zeros=%s\n", vrIsTrailingZeros ? "true" : "false"); |
259
|
0 |
0 |
if (vrIsTrailingZeros && lastRemovedDigit == 5 && vr % 2 == 0) { |
|
0 |
0 |
if (vrIsTrailingZeros && lastRemovedDigit == 5 && vr % 2 == 0) { |
|
0 |
0 |
if (vrIsTrailingZeros && lastRemovedDigit == 5 && vr % 2 == 0) { |
264
|
0 |
0 |
output = vr + ((vr == vm && (!acceptBounds || !vmIsTrailingZeros)) || lastRemovedDigit >= 5); |
|
0 |
0 |
output = vr + ((vr == vm && (!acceptBounds || !vmIsTrailingZeros)) || lastRemovedDigit >= 5); |
|
0 |
0 |
output = vr + ((vr == vm && (!acceptBounds || !vmIsTrailingZeros)) || lastRemovedDigit >= 5); |
|
0 |
0 |
output = vr + ((vr == vm && (!acceptBounds || !vmIsTrailingZeros)) || lastRemovedDigit >= 5); |
270
|
1 |
1 |
if (vpDiv100 > vmDiv100) { // Optimization: remove two digits at a time (~86.2%). |
286
|
2 |
1 |
if (vpDiv10 <= vmDiv10) { |
298
|
2 |
0 |
printf("%" PRIu64 " roundUp=%s\n", vr, roundUp ? "true" : "false"); |
299
|
0 |
2 |
printf("vr is trailing zeros=%s\n", vrIsTrailingZeros ? "true" : "false"); |
302
|
2 |
0 |
output = vr + (vr == vm || roundUp); |
|
2 |
0 |
output = vr + (vr == vm || roundUp); |
321
|
0 |
2 |
if (sign) { |
347
|
1 |
1 |
if ((output >> 32) != 0) { |
367
|
2 |
2 |
while (output2 >= 10000) { |
380
|
0 |
2 |
if (output2 >= 100) { |
386
|
0 |
2 |
if (output2 >= 10) { |
396
|
1 |
1 |
if (olength > 1) { |
406
|
2 |
0 |
if (exp < 0) { |
411
|
1 |
1 |
if (exp >= 100) { |
416
|
0 |
1 |
} else if (exp >= 10) { |
431
|
0 |
2 |
if (e2 > 0) { |
437
|
2 |
0 |
if (e2 < -52) { |
446
|
0 |
0 |
if (fraction != 0) { |
465
|
128 |
2 |
for (bit = 63; bit >= 0; --bit) { |
476
|
2 |
0 |
if (ieeeExponent == ((1u << DOUBLE_EXPONENT_BITS) - 1u) || (ieeeExponent == 0 && ieeeMantissa == 0)) { |
|
1 |
1 |
if (ieeeExponent == ((1u << DOUBLE_EXPONENT_BITS) - 1u) || (ieeeExponent == 0 && ieeeMantissa == 0)) { |
|
0 |
1 |
if (ieeeExponent == ((1u << DOUBLE_EXPONENT_BITS) - 1u) || (ieeeExponent == 0 && ieeeMantissa == 0)) { |
482
|
0 |
2 |
if (isSmallInt) { |
490
|
0 |
0 |
if (r != 0) { |