Condition Coverage

blib/lib/Math/Symbolic/Custom/Collect.pm
Criterion Covered Total %
condition 384 546 70.3


and 3 conditions

line !l l&&!r l&&r condition
174 272 236 173 $t2->term_type == 0 and $t2->type == 3
183 0 0 173 defined $c_n_cth and defined $c_d_cth
199 36 126 11 $denominator->term_type == 1 and $denominator->value == 1
36 126 0 $denominator->term_type == 1 and $denominator->value == 0
210 0 9 153 $Im->term_type == 1 && $Im->value == 0
0 153 9 defined $Im and not $Im->term_type == 1 && $Im->value == 0
262 186 0 0 exists $d_hr->{'terms'} and exists $n_hr->{'terms'}
698 123 32 18 $n_acc == 0 and $d_acc == 0
757 12 4 2 $num_d_terms == 1 and $cc == 1
16 0 2 $num_d_terms == 1 and $cc == 1 and $v =~ /^VAR/
4 0 2 $num_d_terms == 1 and $cc == 1 and $v =~ /^VAR/ and not test_constraint($d_funcs{$v}{'name'}, "nonzero")
849 70 11 92 scalar keys %n_terms == 0 and scalar keys %d_terms == 0
857 0 0 92 $n_acc == int $n_acc and $d_acc == int $d_acc
902 0 1336 32 $tree->term_type == 0 and $tree->arity == 1
0 1335 1 $tree->term_type == 0 and $tree->type == 8
0 616 719 $tree->term_type == 0 and $tree->type == 2
0 16 600 $tree->term_type == 0 and $tree->type == 0
0 16 0 $tree->term_type == 0 and $tree->type == 1
0 0 16 $tree->term_type == 0 and $tree->type == 7
945 0 0 1 defined $ctree1 and defined $ctree2
964 5 1 713 $ok1 and $ok2
987 13 3 0 $op1->term_type == 2 and $exp->term_type == 1
16 0 0 $op1->term_type == 2 and $exp->term_type == 1 and $exp->value eq int $exp->value
3 0 0 $op1->term_type == 2 and $exp->term_type == 1 and $exp->value eq int $exp->value and $exp->value > 0
4 0 12 $op1->term_type == 1 and $exp->term_type == 1
4 0 12 $op1->term_type == 1 and $exp->term_type == 1 and $exp->value eq int $exp->value
0 0 12 $op1->term_type == 1 and $exp->term_type == 1 and $exp->value eq int $exp->value and $exp->value > 0
1035 0 495 94 $tree->term_type == 0 and $tree->arity == 1
0 495 0 $tree->term_type == 0 and $tree->type == 8
0 495 0 $tree->term_type == 0 and $tree->type == 4
495 0 0 $tree->term_type == 0 and $tree->type == 4 and $tree->op1->term_type == 1
0 485 10 $tree->term_type == 0 and $tree->type == 7
0 4 481 $tree->term_type == 0 and $tree->type == 2
1056 0 0 0 defined $ctree2 and defined $ctree1
1073 4 6 0 $op1->term_type == 2 and $exp->term_type == 1
10 0 0 $op1->term_type == 2 and $exp->term_type == 1 and $exp->value eq int $exp->value
6 0 0 $op1->term_type == 2 and $exp->term_type == 1 and $exp->value eq int $exp->value and $exp->value > 0
6 0 4 $op1->term_type == 1 and $exp->term_type == 1
6 0 4 $op1->term_type == 1 and $exp->term_type == 1 and $exp->value eq int $exp->value
0 0 4 $op1->term_type == 1 and $exp->term_type == 1 and $exp->value eq int $exp->value and $exp->value > 0
1270 17 127 43 $vv eq $complex_name and $cc > 1
144 0 43 $vv eq $complex_name and $cc > 1 and $cc == int $cc
1378 685 41 106 $all_neg and $c == 0
726 41 65 $all_neg and $c == 0 and $accumulator == 0
1423 0 0 11 $first->[1]->term_type == 1 and $first->[1]->special eq ""
1454 3032 70 55 $n % $div == 0 and $d % $div == 0
1491 0 0 25 defined $frac and length $frac >= 1
0 0 25 defined $frac and length $frac >= 1 and length $frac < 10
1514 1187 0 364 $op1->term_type == 1 and $op1->special eq ""
1187 269 95 $op1->term_type == 1 and $op1->special eq "" and $op2->term_type == 1
269 0 95 $op1->term_type == 1 and $op1->special eq "" and $op2->term_type == 1 and $op2->special eq ""
1187 265 4 $op1->term_type == 1 and $op1->value == 0
1359 93 0 $op2->term_type == 1 and $op2->value == 0
459 959 34 $op1->term_type == 0 and $op1->type == 3
1418 3 31 $op1->term_type == 0 and $op1->type == 3 and $op2->term_type == 0
962 7 24 $op1->term_type == 0 and $op1->type == 3 and $op2->term_type == 0 and $op2->type == 3
459 959 10 $op1->term_type == 0 and $op1->type == 3
272 1143 3 $op2->term_type == 0 and $op2->type == 3
1568 100 0 105 $op1->term_type == 1 and $op1->special eq ""
100 51 54 $op1->term_type == 1 and $op1->special eq "" and $op2->term_type == 1
51 0 54 $op1->term_type == 1 and $op1->special eq "" and $op2->term_type == 1 and $op2->special eq ""
124 27 0 $op2->term_type == 1 and $op2->value == 0
100 51 0 $op1->term_type == 1 and $op1->value == 0
74 55 22 $op1->term_type == 0 and $op1->type == 3
129 2 20 $op1->term_type == 0 and $op1->type == 3 and $op2->term_type == 0
57 1 19 $op1->term_type == 0 and $op1->type == 3 and $op2->term_type == 0 and $op2->type == 3
74 55 3 $op1->term_type == 0 and $op1->type == 3
62 63 4 $op2->term_type == 0 and $op2->type == 3
1625 89 396 0 $op2->term_type == 1 and $op2->value == 0
173 308 4 $op1->term_type == 1 and $op1->value == 0
89 385 7 $op2->term_type == 1 and $op2->value == 1
464 3 7 $op1->term_type == 2 and $op2->term_type == 2
467 6 1 $op1->term_type == 2 and $op2->term_type == 2 and $op1->name eq $op2->name
9 1 0 $op1->term_type == 2 and $op2->term_type == 2 and $op1->name eq $op2->name and test_constraint($op1->name, "nonzero")
173 0 301 $op1->term_type == 1 and $op1->special eq ""
173 27 274 $op1->term_type == 1 and $op1->special eq "" and $op2->term_type == 1
27 0 274 $op1->term_type == 1 and $op1->special eq "" and $op2->term_type == 1 and $op2->special eq ""
89 0 111 $op2->term_type == 1 and $op2->special eq ""
89 102 9 $op2->term_type == 1 and $op2->special eq "" and $op2->value < 0
119 59 13 $op2->term_type == 0 and $op2->type == 2
178 7 6 $op2->term_type == 0 and $op2->type == 2 and $op2->op1->term_type == 1
66 0 6 $op2->term_type == 0 and $op2->type == 2 and $op2->op1->term_type == 1 and $op2->op1->special eq ""
7 3 3 $op2->term_type == 0 and $op2->type == 2 and $op2->op1->term_type == 1 and $op2->op1->special eq "" and $op2->op1->value < 0
119 59 10 $op2->term_type == 0 and $op2->type == 2
178 10 0 $op2->term_type == 0 and $op2->type == 2 and $op2->op2->term_type == 1
69 0 0 $op2->term_type == 0 and $op2->type == 2 and $op2->op2->term_type == 1 and $op2->op2->special eq ""
10 0 0 $op2->term_type == 0 and $op2->type == 2 and $op2->op2->term_type == 1 and $op2->op2->special eq "" and $op2->op2->value < 0
34 122 32 $op1->term_type == 0 and $op1->type == 3
156 26 6 $op1->term_type == 0 and $op1->type == 3 and $op2->term_type == 0
148 2 4 $op1->term_type == 0 and $op1->type == 3 and $op2->term_type == 0 and $op2->type == 3
34 122 28 $op1->term_type == 0 and $op1->type == 3
93 61 2 $op2->term_type == 0 and $op2->type == 3
33 119 2 $op1->term_type == 0 and $op1->type == 7
152 0 2 $op1->term_type == 0 and $op1->type == 7 and $op2->term_type == 0
119 0 2 $op1->term_type == 0 and $op1->type == 7 and $op2->term_type == 0 and $op2->type == 7
0 0 2 $op1->term_type == 0 and $op1->type == 7 and $op2->term_type == 0 and $op2->type == 7 and $op1->op1->is_identical($op2->op1)
33 119 0 $op1->term_type == 0 and $op1->type == 7
152 0 0 $op1->term_type == 0 and $op1->type == 7 and $op2->term_type == 1
119 0 0 $op1->term_type == 0 and $op1->type == 7 and $op2->term_type == 1 and $op2->value != 0
0 0 0 $op1->term_type == 0 and $op1->type == 7 and $op2->term_type == 1 and $op2->value != 0 and $op1->op1->term_type == 1
0 0 0 $op1->term_type == 0 and $op1->type == 7 and $op2->term_type == 1 and $op2->value != 0 and $op1->op1->term_type == 1 and $op1->op1->value == $op2->value
1643 0 0 256 $op1->value == int $op1->value and $op2->value == int $op2->value
1715 2156 767 1 $op1->term_type == 1 and $op1->value == 0
1919 1003 1 $op2->term_type == 1 and $op2->value == 0
2156 678 88 $op1->term_type == 1 and $op1->value == 1
1885 932 17 $op2->term_type == 1 and $op2->value == 1
2156 0 661 $op1->term_type == 1 and $op1->special eq ""
2156 489 172 $op1->term_type == 1 and $op1->special eq "" and $op2->term_type == 1
489 0 172 $op1->term_type == 1 and $op1->special eq "" and $op2->term_type == 1 and $op2->special eq ""
1641 950 54 $op1->term_type == 0 and $op1->type == 3
2591 18 36 $op1->term_type == 0 and $op1->type == 3 and $op2->term_type == 0
968 20 16 $op1->term_type == 0 and $op1->type == 3 and $op2->term_type == 0 and $op2->type == 3
1641 950 38 $op1->term_type == 0 and $op1->type == 3
2230 324 37 $op2->term_type == 0 and $op2->type == 3
1608 938 8 $op1->term_type == 0 and $op1->type == 7
2546 1 7 $op1->term_type == 0 and $op1->type == 7 and $op2->term_type == 0
939 1 6 $op1->term_type == 0 and $op1->type == 7 and $op2->term_type == 0 and $op2->type == 7
2 0 6 $op1->term_type == 0 and $op1->type == 7 and $op2->term_type == 0 and $op2->type == 7 and $op1->op1->is_identical($op2->op1)
1608 938 2 $op1->term_type == 0 and $op1->type == 7
2546 1 1 $op1->term_type == 0 and $op1->type == 7 and $op2->term_type == 1 || $op2->term_type == 2
1 1 0 $op1->term_type == 0 and $op1->type == 7 and $op2->term_type == 1 || $op2->term_type == 2 and $op1->op1->is_identical($op2)
2230 308 10 $op2->term_type == 0 and $op2->type == 7
2538 2 8 $op2->term_type == 0 and $op2->type == 7 and $op1->term_type == 1 || $op1->term_type == 2
2 6 2 $op2->term_type == 0 and $op2->type == 7 and $op1->term_type == 1 || $op1->term_type == 2 and $op2->op1->is_identical($op1)
1606 940 0 $op1->term_type == 0 and $op1->type == 0 || $op1->type == 1
2201 209 0 $op2->term_type == 0 and $op2->type == 0 || $op2->type == 1
1783 29 152 0 $op2->term_type == 0 and $op2->type == 1
1792 524 260 0 $elem1->{'type'} eq "constant" and $elem1->{'object'}->value == 0
1793 564 220 0 $elem2->{'type'} eq "constant" and $elem2->{'object'}->value == 0
1795 481 185 118 exists $elem1->{'list'} and exists $elem2->{'list'}
1843 3 1 1 $op2->term_type == 1 and $op2->value == 1
1849 3 0 1 $op2->term_type == 1 and $op1->value == $op2->value
0 2 1 $t->op2->term_type == 0 and $t->op2->type == 7
1861 0 0 1 $t->op2->op1->term_type == 1 and $t->op2->op1->value == $op1->value
1881 159 16 1 $op1->term_type == 0 and $op1->type == 7
109 40 26 $op1->term_type == 1 and $op2->term_type == 0
149 25 1 $op1->term_type == 1 and $op2->term_type == 0 and $op2->type == 8
65 0 1 $op1->term_type == 1 and $op2->term_type == 0 and $op2->type == 8 and $op2->op1->term_type == 1
25 0 1 $op1->term_type == 1 and $op2->term_type == 0 and $op2->type == 8 and $op2->op1->term_type == 1 and $op2->op1->value == $op1->value
52 0 122 $op2->term_type == 1 and $op2->special eq ""
27 0 25 $op1->term_type == 1 and $op1->special eq ""
27 0 25 $op1->term_type == 1 and $op1->special eq "" and $op2->term_type == 0
0 0 25 $op1->term_type == 1 and $op1->special eq "" and $op2->term_type == 0 and $op2->type == 3
0 1 24 $op1->term_type == 1 and $op1->special eq "" and $op2->term_type == 0 and $op2->type == 3 and $op2->op1->term_type == 1
1 0 24 $op1->term_type == 1 and $op1->special eq "" and $op2->term_type == 0 and $op2->type == 3 and $op2->op1->term_type == 1 and $op2->op1->value == 1
1 0 24 $op1->term_type == 1 and $op1->special eq "" and $op2->term_type == 0 and $op2->type == 3 and $op2->op1->term_type == 1 and $op2->op1->value == 1 and $op2->op2->term_type == 1
0 0 24 $op1->term_type == 1 and $op1->special eq "" and $op2->term_type == 0 and $op2->type == 3 and $op2->op1->term_type == 1 and $op2->op1->value == 1 and $op2->op2->term_type == 1 and $op2->op2->value == 2
1893 6 0 111 $val > 1 and $val eq int $val
1902 75 0 36 $op1->term_type == 1 and $op1->special eq ""
1933 0 0 0 defined $op1_col and not $op1->is_identical($op1_col)
1971 25 3 0 defined $op1_col and not $op1->is_identical($op1_col)
1979 3 20 5 defined $op2_col and not $op2->is_identical($op2_col)
2008 61 0 99 $op1->term_type == 1 and $op1->special eq ""
2039 0 765 25 $tree->term_type == 0 and $tree->arity == 1
0 765 0 $tree->term_type == 0 and $tree->type == 3
0 421 344 $tree->term_type == 0 and $tree->type == 2
0 3 418 $tree->term_type == 0 and $tree->type == 0
0 3 0 $tree->term_type == 0 and $tree->type == 1
2085 1 0 343 $ok1 and $ok2
2111 0 129 11 $tree->term_type == 0 and $tree->arity == 1
0 129 0 $tree->term_type == 0 and $tree->type == 3
0 128 1 $tree->term_type == 0 and $tree->type == 7
0 1 127 $tree->term_type == 0 and $tree->type == 2
2130 0 1 0 $op1->term_type == 2 and $exp->term_type == 1
1 0 0 $op1->term_type == 2 and $exp->term_type == 1 and $exp->value eq int $exp->value
1 0 0 $op1->term_type == 2 and $exp->term_type == 1 and $exp->value eq int $exp->value and $exp->value > 0
2173 1411 0 989 $c->{'type'} eq "constant" and $c->{'object'}->special eq ""
2221 0 0 0 $den->term_type == 1 and $den->value == 1

or 2 conditions

line l !l condition
613 0 0 $VARIABLE_CONSTRAINTS{$var} || {}
654 123 50 $n_terms{'constant_accumulator'} || 0
655 149 24 $d_terms{'constant_accumulator'} || 0

or 3 conditions

line l !l&&r !l&&!r condition
710 4 76 4 $v =~ /^CONST/ or $v =~ /^VAR/
1352 122 407 27 length get_term_name($a, \%trees) <=> length get_term_name($b, \%trees) or get_term_name($a, \%trees) cmp get_term_name($b, \%trees)
1486 3226 0 25 $val eq int $val or length $t->special
1513 0 0 0 $t->type == 5 or $t->type == 6
1715 1 1 2922 $op1->term_type == 1 and $op1->value == 0 or $op2->term_type == 1 and $op2->value == 0
1 0 1 $op2->term_type == 1 || $op2->term_type == 2
6 2 2 $op1->term_type == 1 || $op1->term_type == 2
136 0 804 $op1->type == 0 || $op1->type == 1
47 0 162 $op2->type == 0 || $op2->type == 1
136 0 2410 $op1->term_type == 0 and $op1->type == 0 || $op1->type == 1 or $op2->term_type == 0 and $op2->type == 0 || $op2->type == 1
2154 0 0 784 $e->{'type'} eq "variable" or $e->{'type'} eq "constant"
0 0 784 $e->{'type'} eq "variable" or $e->{'type'} eq "constant" or $e->{'type'} eq "function"