Branch Coverage

blib/lib/Math/PlanePath/CellularRule.pm
Criterion Covered Total %
branch 90 224 40.1


line true false branch
81 0 0 ($self->{'rule'} & 23) == 0 || ($self->{'rule'} & 95) == 14 || ($self->{'rule'} & 95) == 84 ? :
87 0 0 ($self->{'rule'} & 23) == 0 ? :
93 0 0 ($self->{'rule'} & 23) == 0 ? :
118 0 0 ($self->{'rule'} & 23) == 0 || $self->{'rule'} == 70 || $self->{'rule'} == 198 || $self->{'rule'} == 78 || $self->{'rule'} == 110 || $self->{'rule'} == 230 ? :
161 0 0 defined $x_negative_at_n ? :
169 0 0 ($self->{'rule'} & 23) == 0 ? :
180 0 0 if (($self->{'rule'} & 95) == 14)
188 0 0 if (($self->{'rule'} & 95) == 84)
204 0 0 ($self->{'rule'} & 95) == 14 ? :
0 0 ($self->{'rule'} & 23) == 0 || ($self->{'rule'} & 95) == 84 ? :
267 0 0 ($self->{'rule'} & 23) == 1 || $self->{'rule'} == 7 || $self->{'rule'} == 21 || $self->{'rule'} == 19 || ($self->{'rule'} & 151) == 23 ? :
345 0 0 ($self->{'rule'} & 95) == 14 ? :
0 0 ($self->{'rule'} & 95) == 84 ? :
434 0 0 ($self->{'rule'} & 95) == 14 ? :
0 0 ($self->{'rule'} & 95) == 84 ? :
524 0 0 ($self->{'rule'} & 95) == 14 ? :
0 0 ($self->{'rule'} & 95) == 84 ? :
823 1 363 unless (defined $rule)
829 364 0 unless (defined $n_start)
833 262 102 unless ($self->{'use_bitwise'})
834 107 155 if (my $aref = $rule_to_class[$rule])
838 0 107 unless $class->can('new') or eval "require $class; 1"
921 0 2985 if (2 * $n >= 1)
929 306 2679 if ($int < $self->{'n_start'})
932 0 2679 if (is_infinite($int))
937 16 17388 if (scalar @$row_end_n >= 3 and $row_end_n->[-1] == $row_end_n->[-2] and $row_end_n->[-2] == $row_end_n->[-3])
943 498 17582 if ($y > $#$row_end_n)
946 2663 15417 if ($int <= $row_end_n->[$y])
962 5136 15128 if (vec $row, $x, 1)
964 2663 2473 if (++$int > 0)
983 0 50592 if (is_infinite($x))
984 0 50592 if (is_infinite($y))
986 24480 26112 if ($y < 0 or not $x <= $y && ($x += $y) >= 0)
992 0 1326 if (scalar @$row_end_n >= 3 and $row_end_n->[-1] == $row_end_n->[-2] and $row_end_n->[-2] == $row_end_n->[-3])
1002 18966 7146 unless (vec $row, $x, 1)
1017 0 0 unless ($x1, $y1, $x2, $y2) = _rect_for_V($x1, $y1, $x2, $y2)
1020 0 0 if (is_infinite($y1))
1021 0 0 if (is_infinite($y2))
1025 0 0 if (scalar @$row_end_n >= 3 and $row_end_n->[-1] == $row_end_n->[-2] and $row_end_n->[-2] == $row_end_n->[-3])
1035 0 0 if ($y1 > $#$row_end_n)
1037 0 0 if ($y2 > $#$row_end_n)
1041 0 0 $y1 < 0 ? :
1092 0 0 unless $a_low == ($b & 23)
1108 0 0 if ($a_low == 18 or $a_low == 5)
1109 0 0 unless ($a & 32) == ($b & 32)
1193 0 0 $self->{'align'} eq 'right' ? :
1199 0 0 $self->{'align'} eq 'left' ? :
1206 0 0 $self->{'align'} eq 'left' ? :
1213 0 0 $self->{'align'} eq 'right' ? :
1235 0 0 $self->{'align'} eq 'centre' ? :
1269 0 48 unless (defined $self->{'n_start'})
1274 0 48 unless (defined $self->{'sign'})
1288 0 2704 if (2 * $n >= 1)
1297 144 2560 if ($int < 0)
1300 0 2560 if (is_infinite($int))
1309 0 0 if ($n < 0)
1310 0 0 if ($self->{'align'} ne 'centre')
1318 0 0 if ($n < 0)
1320 0 0 if ($self->{'align'} ne 'centre')
1332 0 23808 if (is_infinite($x))
1334 768 23040 if ($y >= 0 and $x == $y * $self->{'sign'}) { }
1349 0 0 if ($y1 > $y2)
1351 0 0 if ($y2 < 0)
1354 0 0 if ($y1 < 0)
1398 0 10 unless (defined $self->{'n_start'})
1410 27 216 unless my($x, $y) = $self->{'pyramid'}->n_to_xy($n)
1420 2232 2238 if (($x + $y) % 2)
1438 0 6 if ($y1 > $y2)
1439 0 6 if ($y1 < 0)
1492 0 0 $self->{'align'} eq 'left' ? :
1496 0 0 $self->{'align'} eq 'left' ? :
1568 0 0 $self->{'sign'} < 0 ? :
1575 0 0 $self->{'sign'} < 0 ? :
1581 0 0 $self->{'sign'} < 0 ? :
1588 0 0 $self->{'align'} eq 'left' ? :
1601 0 10 unless (defined $self->{'n_start'})
1618 0 400 if (2 * $n >= 1) { }
1626 24 376 if ($int < 0)
1629 0 376 if (is_infinite($int))
1636 244 132 if ($x)
1638 60 184 $self->{'align'} eq 'left' ? :
1650 0 3980 if ($y < 0)
1651 0 3980 if (is_infinite($y))
1654 1992 1988 if ($y % 2) { }
1656 996 996 if ($self->{'sign'} > 0)
1657 1856 136 if ($x < 0 or $x > 1)
1661 1920 68 if ($x != 0)
1674 0 12 if ($y1 > $y2)
1675 0 12 if ($y2 < 0)
1678 0 12 if ($y1 < 0)
1679 0 12 if (is_infinite($y1))
1680 0 12 if (is_infinite($y2))
1735 0 0 $self->{'align'} eq 'left' ? :
1741 0 0 $self->{'align'} eq 'left' ? :
1814 0 0 $self->{'sign'} < 0 ? :
1820 0 0 $self->{'sign'} < 0 ? :
1827 0 0 $self->{'align'} eq 'left' ? :
1840 0 10 unless (defined $self->{'n_start'})
1868 24 378 if ($n < -1)
1871 18 360 if ($y == 0)
1882 0 3982 if ($y < 0)
1883 0 3982 if (is_infinite($y))
1885 1991 1991 if ($self->{'align'} eq 'left') { }
1887 1866 125 if ($y)
1891 3732 250 $y ? :
3720 262 if ($x < ($y ? -1 : 0) or $x > 0)
1907 0 14 if ($y1 > $y2)
1908 0 14 if ($y2 < 0)
1911 0 14 if ($y1 < 0)
1915 0 14 if (is_infinite($y1))
1916 0 14 if (is_infinite($y2))
1918 14 0 $y1 == 0 ? :