Branch Coverage

blib/lib/Math/Algebra/Symbols/Term.pm
Criterion Covered Total %
branch 247 550 44.9


line true false branch
77 45 1106 unless $a
88 1106 0 if ($A =~ m[^\s*([+-])?(\d+)?(?:/(\d+))?(i)?(?:\*)?(.*)$])
90 161 945 if $1 and $1 eq '-'
91 848 258 if $2
92 213 893 if $c eq ''
93 45 1061 if $c eq '-'
95 115 991 if $3
96 991 115 if $d eq ''
98 117 989 if $4
105 1 141 if defined $2
106 141 1 unless defined $2
109 0 1106 if $A eq $b
110 0 1106 if $b
137 798 1151 unless scalar @_
153 212599 2003 if $x == 1 or $y == 1
155 1623 380 if $y < $a
159 2003 2257 if $r == 0
175 0 0 if $x == 1 or $y == 1
199 0 614026 if $i == 1
200 0 614026 unless $i =~ /^[\+\-]?\d+/
201 394 613632 if $i > 10000000
215 108096 215497 unless @_ > 1
217 4993 210504 $_[1] == 1 ? :
231 89 215061 unless @_ > 1
233 214854 207 $_[1] == 1 ? :
247 5877 0 $_[1] ? :
250 421 5456 if ($t->{'d'} > 1)
252 274 147 if ($g > 1)
270 208713 5226 $_[1] == 1 ? :
271 0 213939 unless $d != 0
275 1165 212774 if ($g > 1)
280 33 213906 if $d < 0
308 0 0 unless exists $t->{'z'}
332 0 0 unless exists $t->{'z'}
356 0 0 unless exists $t->{'z'}
381 832 112902 unless @_ > 1
383 2086 110816 $_[1] == 1 ? :
387 0 112902 if $i4 == 2 or $i4 == 3
416 14576 1989 unless @_ > 1
446 717 3111 unless @_ > 1
476 0 3560 unless @_ > 1
491 0 1 unless @_ > 1
514 807 388 exists $t->{'v'}{$v} ? :
1195 288524 if @_ == 2
516 1251 287273 $_[2] == 1 ? :
517 284960 3564 if $p
518 3564 284960 unless $p
547 0 233048 unless $t->{'z'}
583 6459 331726 if defined $t->{'divide'}
584 950 337235 if defined $t->{'sqrt'}
585 13416 324769 if defined $t->{'exp'}
586 2 338183 if defined $t->{'log'}
587 12530 325655 if $t->{'i'} == 1
588 4039 334146 if $s eq ''
602 0 0 exists $t->{'z'} ? :
617 0 107926 unless $a->{'z'} and $b->{'z'}
619 0 107926 unless $a->{'z'} eq $b->{'z'}
620 2290 105636 if $a == $b
626 3479 102157 if $c == 0
643 0 0 unless $a->{'z'} and $b->{'z'}
645 0 0 if $a == $b
646 0 0 if $b == $zero
647 0 0 if $a == $zero
648 0 0 unless $a->{'z'} eq $b->{'z'}
670 0 114590 unless $a->{'z'} and $b->{'z'}
677 2819 111399 if defined $a->{'divide'} and defined $b->{'divide'} or defined $a->{'sqrt'} and defined $b->{'sqrt'} or defined $a->{'exp'} and defined $b->{'exp'} or defined $a->{'log'} and defined $b->{'log'}
683 162 111237 if $i == 2
692 271350 16817 exists $z->{'v'}{$v} ? :
696 109572 1827 unless defined $a->{'divide'}
697 111304 95 unless defined $a->{'sqrt'}
698 108374 3025 unless defined $a->{'exp'}
699 111399 0 unless defined $a->{'log'}
717 0 271 unless $a->{'z'} and $b->{'z'}
721 4 0 if defined $b->{'divide'} and !defined($a->{'divide'}) || $a->{'divide'}->id != $b->{'divide'}->id
723 25 2 if defined $b->{'sqrt'} and !defined($a->{'sqrt'}) || $a->{'sqrt'}->id != $b->{'sqrt'}->id
725 0 0 if defined $b->{'exp'} and !defined($a->{'exp'}) || $a->{'exp'}->id != $b->{'exp'}->id
727 0 0 if defined $b->{'log'} and !defined($a->{'log'}) || $a->{'log'}->id != $b->{'log'}->id
733 0 242 if $i == -1
745 0 242 if defined $a->{'divide'} and defined $b->{'divide'}
746 2 240 if defined $a->{'sqrt'} and defined $b->{'sqrt'}
747 0 242 if defined $a->{'exp'} and defined $b->{'exp'}
748 0 242 if defined $a->{'log'} and defined $b->{'log'}
766 0 0 unless $t->{'z'}
773 0 0 if $t->{'divide'} or $t->{'sqrt'} or $t->{'exp'} or $t->{'log'}
777 0 0 if $i
800 0 0 unless $a->{'z'} and $b->{'z'}
803 0 0 if $a == $one or $b == $zero
808 0 0 if $a->{'divide'} or $a->{'sqrt'} or $a->{'exp'} or $a->{'log'}
816 0 0 if $b->{'d'} != 1 or $b->{'i'} == 1 or $b->{'divide'} or $b->{'sqrt'} or $b->{'exp'} or $b->{'log'}
822 0 0 if ($p < 0)
824 0 0 unless $a
826 0 0 if $p == 1
856 0 97 if $a >= 65536 or $a < 0
858 27 70 if $s * $s != $a
865 0 62 unless $t->{'z'}
872 0 62 if $t->{'i'} or $t->{'divide'} or $t->{'sqrt'} or $t->{'exp'} or $t->{'log'}
876 4 58 if $c < 0
880 27 35 unless defined $c2
881 0 35 unless defined $d2
888 9 5 unless $p % 2 == 0
907 0 1405 unless $t->{'z'}
909 103 1302 if $t == $zero
913 0 1302 if $t->{'divide'} or $t->{'sqrt'} or $t->{'exp'} or $t->{'log'}
914 350 952 unless $t->{'i'} == 1
917 0 51 unless $t->{'d'} == 1 or $t->{'d'} == 2 or $t->{'d'} == 4
920 918 26 unless scalar keys %{$$t{'v'};} == 1 and exists $t->{'v'}{'pi'} and $t->{'v'}{'pi'} == 1
924 7 19 if $d == 1
927 1 25 if $c == 0
928 9 16 if $c == 1
929 6 10 if $c == 2
930 10 0 if $c == 3
944 0 120 unless $t->{'z'}
946 3 117 if $t == $zero
950 0 117 if $t->{'divide'} or $t->{'sqrt'} or $t->{'exp'} or $t->{'log'}
951 4 113 unless $t->{'i'} == 0
952 2 111 unless scalar keys %{$$t{'v'};} == 1
953 91 20 unless exists $t->{'v'}{'pi'}
954 0 20 unless $t->{'v'}{'pi'} == 1
958 0 8 unless $d == 1 or $d == 2 or $d == 3 or $d == 6
959 6 14 if $d == 1
960 6 14 if $d == 2
961 0 20 if $d == 3
964 3 17 if $c == 0
965 2 15 if $c == 1
966 0 15 if $c == 2
967 3 12 if $c == 3
968 0 12 if $c == 4
969 2 10 if $c == 5
970 3 7 if $c == 6
971 2 5 if $c == 7
972 0 5 if $c == 8
973 3 2 if $c == 9
974 0 2 if $c == 10
975 2 0 if $c == 11
976 0 0 if $c == 12
990 0 125 unless $t->{'z'}
992 3 122 if $t == $zero
996 0 122 if $t->{'divide'} or $t->{'sqrt'} or $t->{'exp'} or $t->{'log'}
997 4 118 unless $t->{'i'} == 0
998 2 116 unless scalar keys %{$$t{'v'};} == 1
999 96 20 unless exists $t->{'v'}{'pi'}
1000 0 20 unless $t->{'v'}{'pi'} == 1
1004 0 8 unless $d == 1 or $d == 2 or $d == 3 or $d == 6
1005 6 14 if $d == 1
1006 6 14 if $d == 2
1007 8 12 if $d == 3
1010 2 18 if $c == 10
1011 0 18 if $c == 11
1012 0 18 if $c == 12
1013 3 15 if $c == 0
1014 0 15 if $c == 1
1015 2 13 if $c == 2
1016 3 10 if $c == 3
1017 2 8 if $c == 4
1018 0 8 if $c == 5
1019 3 5 if $c == 6
1020 0 5 if $c == 7
1021 2 3 if $c == 8
1022 3 0 if $c == 9
1036 0 1 unless $a->{'z'}
1038 0 1 if $a == $one
1052 0 0 unless $t->{'id'}
1066 0 0 unless $t->{'z'}
1081 0 230125 if exists $t->{'z'}
1084 38497 191628 if defined $z{$p}
1121 519962 230125 if defined $t->{'s'}
1126 12797 217328 if $t->{'d'} != 1
1127 7270 222855 if $t->{'i'} == 1
1132 4560 225565 if defined $t->{'divide'}
1133 441 229684 if defined $t->{'sqrt'}
1134 9311 220814 if defined $t->{'exp'}
1135 1 230124 if defined $t->{'log'}
1169 0 45 if exists $p{'term'}
1184 0 45 if keys %p
1229 0 0 unless ref $b eq 'Math::Algebra::Symbols::Term'
1230 0 0 unless $a->{'z'} and $b->{'z'}
1245 0 0 if (defined $b) { }
1246 0 0 unless ref $b eq 'Math::Algebra::Symbols::Term'
1247 0 0 unless $a->{'z'} and $b->{'z'}
1248 0 0 if $c
1249 0 0 unless $c
1252 0 0 unless $a->{'z'}
1267 0 0 unless ref $b eq 'Math::Algebra::Symbols::Term'
1268 0 0 unless $a->{'z'} and $b->{'z'}
1282 0 0 unless ref $b eq 'Math::Algebra::Symbols::Term'
1283 0 0 unless $a->{'z'} and $b->{'z'}
1284 0 0 if $c
1285 0 0 unless $c
1298 0 0 unless ref $b eq 'Math::Algebra::Symbols::Term'
1299 0 0 unless $a->{'z'} and $b->{'z'}
1313 109577 0 if (ref $b eq 'Math::Algebra::Symbols::Term') { }
1314 0 109577 unless $a->{'z'} and $b->{'z'}
1318 0 0 unless $a->{'z'}
1333 0 458510 unless $a->{'z'}
1347 0 0 unless $a->{'z'}
1361 0 0 unless $a->{'z'}
1375 0 0 unless $a->{'z'}
1389 0 0 unless $a->{'z'}
1403 0 0 unless $a->{'z'}
1418 0 0 unless $a == $zero
1419 0 0 unless $a == $one
1420 0 0 unless $a == $two
1421 0 0 unless $b == 3
1422 0 0 unless $c == 4
1423 0 0 unless $c == 5
1424 0 0 unless $c == 10
1425 0 0 unless $c == 3
1426 0 0 unless $c == 4
1427 0 0 unless $c == 2
1428 0 0 unless $c == 1
1429 0 0 unless $c == -6
1430 0 0 unless $c == $one
1431 0 0 unless $c == '1/2'
1432 0 0 unless $c == $two
1433 0 0 unless $c == $one
1434 0 0 unless $c == 4
1435 0 0 unless $c == 1024
1436 0 0 unless $c == $a
1437 0 0 unless $d == -1
1438 0 0 unless $c == '1*i'
1439 0 0 unless $d == 4
1440 0 0 unless $c == 2
1441 0 0 unless $c == '1*$x/$a*$y**2/$b**2'
1443 0 0 unless $a == '1*$x'
1444 0 0 unless $b == '2*$x**2'
1445 0 0 unless $c == '2*$x'
1446 0 0 unless $c == '3*$x'
1447 0 0 unless $c == $zero
1448 0 0 unless $c == '-1*$x'
1449 0 0 unless $c == '2*$x**3'
1450 0 0 unless $c == '4*$x**6'
1451 0 0 unless $c == '2*$x'
1454 0 0 unless $c == '1/2'
1455 0 0 unless $c == $a
1457 0 0 unless $a == 0
1458 0 0 unless $a == $half
1459 0 0 unless $a == 1
1460 0 0 unless $a == $half
1461 0 0 unless $a == $zero
1462 0 0 unless $a == -$half
1463 0 0 unless $a == -1
1464 0 0 unless $a == '-1/2'
1465 0 0 unless $a == $zero
1466 0 0 unless $a == $zero
1467 0 0 unless $a == -$half
1468 0 0 unless $a == -$one
1469 0 0 unless $a == -$half
1470 0 0 unless $a == -$zero
1471 0 0 unless $a == $half
1472 0 0 unless $a == $one
1473 0 0 unless $a == $half
1474 0 0 unless $a == $zero
1475 0 0 unless $a == $one
1476 0 0 unless $a == $half
1477 0 0 unless $a == $zero
1478 0 0 unless $a == -$half
1479 0 0 unless $a == -$one
1480 0 0 unless $a == -$half
1481 0 0 unless $a == $zero
1482 0 0 unless $a == $half
1483 0 0 unless $a == $one
1484 0 0 unless $a == $one
1485 0 0 unless $a == $half
1486 0 0 unless $a == $zero
1487 0 0 unless $a == -$half
1488 0 0 unless $a == -$one
1489 0 0 unless $a == -$half
1490 0 0 unless $a == $zero
1491 0 0 unless $a == $half
1492 0 0 unless $a == $one
1493 0 0 unless $a == $one
1494 0 0 unless $a == $i
1495 0 0 unless $a == -$one
1496 0 0 unless $a == -$i
1497 0 0 unless $a == $one