Branch Coverage

blib/lib/Math/PlanePath/ToothpickTree.pm
Criterion Covered Total %
branch 186 340 54.7


line true false branch
361 0 41 unless (exists $parts_depth_adjust{$parts})
388 0 319 if ($n < 0)
389 0 319 if (is_infinite($n))
395 0 319 if ($n != $int)
409 238 81 if (my $initial = $initial_n_to_xy{$parts})
410 32 206 if ($n <= $#$initial)
441 0 287 if ($parts eq 'octant') { }
0 287 elsif ($parts eq 'octant_up') { }
0 287 elsif ($parts eq 'wedge') { }
0 287 elsif ($parts eq 'two_horiz') { }
453 0 0 if ($n < $add) { }
465 0 0 if ($n < $add) { }
477 0 0 if ($n >= $half)
481 0 0 if ($n < $quad) { }
482 0 0 if ($n < $add) { }
497 0 0 if ($n < $add3 - 1) { }
515 59 228 if ($parts eq '3')
519 23 36 if ($n < $add_quad) { }
532 183 104 if ($parts ne '1')
536 85 98 if ($parts eq '4')
538 38 47 if ($n >= $add_half)
545 88 95 if ($n >= $add_quad)
549 22 66 if ($n >= $add_sub1) { }
568 47 240 if ($n >= $add)
587 41 428 if ($depth < $pow)
593 48 380 if ($depth == $pow - 1)
604 134 246 if ($depth == 0)
608 105 141 if ($depth == 1)
610 72 33 if ($exp and $n == $mirror) { }
622 45 96 if ($mirror) { }
631 3 42 if ($n < $add)
637 37 5 if ($n < $add)
663 96 0 if ($depth + 1 < $pow)
666 7 89 if ($n < $add)
681 47 42 if ($n < $add) { }
715 0 252 if ($parts eq 'octant') { }
0 252 elsif ($parts eq 'octant_up') { }
0 252 elsif ($parts eq 'wedge') { }
0 252 elsif ($parts eq 'two_horiz') { }
726 0 0 if ($x > $y or $x < -$y)
729 0 0 if ($y <= 0)
730 0 0 if ($y < 0)
732 0 0 if ($x == 0)
733 0 0 if ($x == 1)
734 0 0 if ($x == -1)
737 0 0 if ($x >= 0) { }
750 0 0 if ($x == -1 and $y == 0)
751 0 0 if ($x == -2 and $y == 0)
755 0 0 if ($x < 0)
762 0 0 if ($y > 0) { }
766 0 0 if ($x < $y + 2) { }
779 0 0 if ($x > 2 - $y) { }
793 0 0 if ($mult)
796 0 0 if ($mult3)
804 51 201 if ($parts eq '1') { }
51 150 elsif ($parts eq '2') { }
51 99 elsif ($parts eq '3') { }
805 0 51 if ($x < 1 or $y < 1)
809 0 51 if ($y < 1)
810 1 50 if ($x == 0)
811 1 0 if ($y == 1)
813 8 42 if ($y == 1)
814 1 7 if ($x == 1)
815 1 6 if ($x == -1)
820 5 46 if ($x == 0)
821 1 4 if ($y == 0)
822 1 3 if ($y == -1)
823 1 2 if ($y == 1)
825 18 30 if ($y < 0) { }
826 0 18 if ($x < 0)
840 6 93 if ($x == 0)
841 2 4 if ($y == 0)
842 2 2 if ($y == 1)
843 2 0 if ($y == -1)
845 42 51 if ($y < 0)
853 82 158 if ($x < 0)
862 126 114 if ($y <= $x) { }
864 42 84 if ($mirror)
874 74 40 unless ($mirror)
885 0 240 if ($x < 1 or $y < 1 or $y > $x + 1)
891 0 240 if (is_infinite($exp))
924 267 259 if ($x < $pow) { }
925 0 267 if ($y == $pow and $x == $pow - 1)
937 67 192 if ($y == 0) { }
57 135 elsif ($y > 0) { }
938 67 0 if ($x == 0) { }
947 0 57 if ($y == 1 and $x == 0)
950 0 0 unless ($mirror)
955 30 27 unless ($mirror)
962 56 79 if ($y == -1 and $x == 0)
965 28 28 if ($mirror)
970 59 20 if ($x >= -$y) { }
972 0 59 if ($y > -1)
976 28 31 if ($mirror) { }
990 8 12 if ($mirror)
999 117 286 if (--$exp < 0)
1001 117 0 if ($x == 1 and $y == 1) { }
0 0 elsif ($x == 1 and $y == 2) { }
1022 210 30 if (@add_offset)
1048 6 102 if $x1 > $x2
1049 7 101 if $y1 > $y2
1052 0 108 if ($parts eq 'wedge' or $parts eq 'wedge+1')
1057 22 86 if ($parts eq '4' or $parts eq 'two_horiz')
1058 0 22 if ($parts eq 'two_horiz')
1072 16 70 if ($parts eq '3')
1073 0 16 if ($x2 < 0 and $y2 < 0)
1093 0 70 if ($parts eq '2')
1094 0 0 if ($y2 < 0)
1106 0 70 if ($x2 < 1 or $y2 < 1)
1121 0 0 unless my($x, $y) = $self->n_to_xy($n)
1125 0 0 if (($x + $y) % 2) { }
1136 0 0 if (($n1 || 0) > ($n2 || 0))
1139 0 0 defined $n1 && $n1 > $n ? :
0 0 defined $n2 && $n2 > $n ? :
1156 0 0 if ($n < ($parts_to_numroots{$$self{'parts'}} || 1))
1159 0 0 unless my($x, $y) = $self->n_to_xy($n)
1167 0 0 $x % 2 ^ $y % 2 ? :
1182 0 882 if ($n < 0)
1209 0 1169 if (is_infinite($exp))
1228 2808 3213 if ($try_n_depth <= $n)
1285 0 7491 if ($depth < 0)
1293 123 7368 if ($depth <= $#$initial)
1309 0 7368 if (is_infinite($exp))
1329 883 6485 if ($parts eq 'octant' or $parts eq 'octant_up') { }
66 6419 elsif ($parts eq 'wedge') { }
0 6419 elsif ($parts eq 'wedge+1') { }
40 6379 elsif ($parts eq 'two_horiz') { }
1557 4822 elsif ($parts eq '3') { }
1364 3226 22423 unless @pending
1385 11148 35455 if ($depth <= 3)
1386 6927 4221 if ($depth eq '3') { }
1395 6689 28766 if ($depth < $pow)
1412 5269 23497 if ($rem == 0) { }
5263 18234 elsif ($rem == 1) { }
1425 4927 13307 if ($rem == $pow) { }
6971 6336 elsif (@new_pending and $new_pending[-1] == $rem) { }
1435 18234 0 if ($rem -= 1)
1485 0 1268 if (is_infinite($exp))
1495 468 3227 unless @$depth_list
1510 2334 4129 if ($depth <= 3)
1516 1077 3052 if ($depth < $pow)
1530 802 2250 if ($rem == 0 or $rem == $pow - 1) { }
1541 723 1527 if (@new_depth_list and $new_depth_list[-1] == $rem) { }
1568 0 0 if ($n < 0)
1569 0 0 if (is_infinite($n))
1580 0 0 if ($parts eq 'octant') { }
0 0 elsif ($parts eq 'octant_up') { }
0 0 elsif ($parts eq 'wedge' or $parts eq 'wedge+1') { }
0 0 elsif ($parts eq 'two_horiz') { }
1590 0 0 if ($parts eq 'wedge+1')
1592 0 0 if ($n == 0 or $n == 2 * $add + 1)
1598 0 0 if ($n >= $add)
1608 0 0 if ($n >= 2 * $add)
1613 0 0 if ($n >= $add)
1621 0 0 if ($n < $add) { }
1632 0 0 if ($parts eq '3')
1635 0 0 if ($n < $add) { }
1643 0 0 if ($parts eq '2' or $parts eq '4')
1646 0 0 if ($n >= 2 * $add)
1653 0 0 if ($n >= $add) { }
1665 0 0 if ($n < 0) { }
1675 0 0 if ($depth <= 4)
1686 0 0 if ($n == 0)
1691 0 0 if $depth < $pow
1693 0 0 if (defined $dbase)
1697 0 0 if ($depth == 1)
1707 0 0 if ($n < $add) { }
1714 0 0 if ($n < 0) { }
1729 0 0 defined $dbase ? :
1768 0 44 unless (defined $depth)