Branch Coverage

d2s.c
Criterion Covered Total %
branch 60 136 44.1


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) {