Branch Coverage

bson/bson-decimal128.c
Criterion Covered Total %
branch 0 172 0.0


line true false branch
84 0 0 if (!value.parts[0] && !value.parts[1] &&
0 0 if (!value.parts[0] && !value.parts[1] &&
0 0 if (!value.parts[0] && !value.parts[1] &&
85 0 0 !value.parts[2] && !value.parts[3]) {
92 0 0 for (i = 0; i <= 3; i++) {
160 0 0 if ((int64_t)dec->high < 0) { /* negative */
172 0 0 if (BSON_UNLIKELY ((combination >> 3) == 3)) {
174 0 0 if (combination == COMBINATION_INFINITY) { /* Infinity */
177 0 0 } else if (combination == COMBINATION_NAN) { /* NaN */
202 0 0 if (significand128.parts[0] == 0 && significand128.parts[1] == 0 &&
0 0 if (significand128.parts[0] == 0 && significand128.parts[1] == 0 &&
0 0 if (significand128.parts[0] == 0 && significand128.parts[1] == 0 &&
203 0 0 significand128.parts[2] == 0 && significand128.parts[3] == 0) {
205 0 0 } else if (significand128.parts[0] >= (1 << 17)) {
214 0 0 for (k = 3; k >= 0; k--) {
221 0 0 if (!least_digits) { continue; }
223 0 0 for (j = 8; j >= 0; j--) {
234 0 0 if (is_zero) {
239 0 0 while (!(*significand_read)) {
255 0 0 if (scientific_exponent < -6 || exponent > 0) {
0 0 if (scientific_exponent < -6 || exponent > 0) {
260 0 0 if (significand_digits) {
264 0 0 for (i = 0; i < significand_digits; i++) {
272 0 0 if (exponent >= 0) {
273 0 0 for (i = 0; i < significand_digits; i++) {
280 0 0 if (radix_position > 0) { /* non-zero digits before radix */
281 0 0 for (i = 0; i < radix_position; i++) {
289 0 0 while (radix_position++ < 0) { /* add leading zeros after radix */
293 0 0 for (i = 0; i < significand_digits - BSON_MAX (radix_position - 1, 0);
335 0 0 if (!left && !right) {
0 0 if (!left && !right) {
375 0 0 if (isupper (c)) {
397 0 0 while (*a != '\0' || *b != '\0') {
0 0 while (*a != '\0' || *b != '\0') {
399 0 0 if (*a == '\0' || *b == '\0') {
0 0 if (*a == '\0' || *b == '\0') {
403 0 0 if (_dec128_tolower (*a) != _dec128_tolower (*b)) {
471 0 0 BSON_ASSERT (dec);
475 0 0 if (*str_read == '+' || *str_read == '-') {
0 0 if (*str_read == '+' || *str_read == '-') {
481 0 0 if (!isdigit (*str_read) && *str_read != '.') {
0 0 if (!isdigit (*str_read) && *str_read != '.') {
486 0 0 } else if (_dec128_istreq (str_read, "nan")) {
496 0 0 while (isdigit (*str_read) || *str_read == '.') {
0 0 while (isdigit (*str_read) || *str_read == '.') {
497 0 0 if (*str_read == '.') {
498 0 0 if (saw_radix) {
508 0 0 if (ndigits_stored < 34) {
509 0 0 if (*str_read != '0' || found_nonzero) {
0 0 if (*str_read != '0' || found_nonzero) {
510 0 0 if (!found_nonzero) {
520 0 0 if (found_nonzero) {
524 0 0 if (saw_radix) {
532 0 0 if (saw_radix && !ndigits_read) {
0 0 if (saw_radix && !ndigits_read) {
538 0 0 if (*str_read == 'e' || *str_read == 'E') {
0 0 if (*str_read == 'e' || *str_read == 'E') {
548 0 0 if (!read_exponent || nread == 0) {
0 0 if (!read_exponent || nread == 0) {
556 0 0 if (*str_read) {
565 0 0 if (!ndigits_stored) { /* value is zero */
576 0 0 while (string[first_nonzero + significant_digits - 1 +
588 0 0 if (exponent <= radix_position && radix_position - exponent > (1 << 14)) {
0 0 if (exponent <= radix_position && radix_position - exponent > (1 << 14)) {
595 0 0 while (exponent > BSON_DECIMAL128_EXPONENT_MAX) {
599 0 0 if (last_digit - first_digit > BSON_DECIMAL128_MAX_DIGITS) {
601 0 0 if (significant_digits == 0) {
615 0 0 while (exponent < BSON_DECIMAL128_EXPONENT_MIN ||
0 0 while (exponent < BSON_DECIMAL128_EXPONENT_MIN ||
618 0 0 if (last_digit == 0) {
620 0 0 if (significant_digits == 0) {
629 0 0 if (ndigits_stored < ndigits) {
630 0 0 if (string[ndigits - 1 + includes_sign + saw_radix] - '0' != 0 &&
0 0 if (string[ndigits - 1 + includes_sign + saw_radix] - '0' != 0 &&
638 0 0 if (digits[last_digit] != 0) {
648 0 0 if (exponent < BSON_DECIMAL128_EXPONENT_MAX) {
658 0 0 if (last_digit - first_digit + 1 < significant_digits) {
669 0 0 if (round_digit != 0) {
680 0 0 if (significant_digits == 0) { /* read a zero */
683 0 0 } else if (last_digit - first_digit < 17) {
687 0 0 for (; d_idx <= last_digit; d_idx++) {
696 0 0 for (; d_idx <= last_digit - 17; d_idx++) {
703 0 0 for (; d_idx <= last_digit; d_idx++) {
714 0 0 if (significand.low < significand_low) {
722 0 0 if ((significand.high >> 49) & 1) {
735 0 0 if (is_negative) {