Branch Coverage

blib/lib/Math/MatrixLUP.pm
Criterion Covered Total %
branch 112 182 61.5


line true false branch
23 0 9 $_[2] ? :
28 0 0 $_[2] ? :
35 0 3 if $_[2]
36 0 3 if $_[2]
41 2 3 if $_[2]
42 3 4 if $_[2]
44 0 4 $_[2] ? :
45 1 2 $_[2] ? :
59 14 124 if (ref $matrix eq 'ARRAY' and not @$matrix) { }
64 0 124 unless ref $matrix eq 'ARRAY' and ref $matrix->[0] eq 'ARRAY'
82 11 1 unless (defined $callback)
103 1 4 if ($n <= 0)
117 0 0 if ($row_count <= 0)
127 0 2 unless ref $vector eq 'ARRAY'
136 2 6 unless ref $self
144 0 0 unless ref $vector eq 'ARRAY'
153 0 6 unless ref $self
166 0 1 unless ref $vector eq 'ARRAY'
178 0 1 unless ref $vector eq 'ARRAY'
200 1 1 unless ref $self
202 0 1 unless $self->{'is_square'}
211 1 1 unless ref $self
213 0 1 unless $self->{'is_square'}
224 0 4 unless ref $vector eq 'ARRAY'
228 0 4 unless $#{$vector;} == $self->{'rows'}
243 0 0 unless ref $vector eq 'ARRAY'
247 0 0 unless $#{$vector;} == $self->{'cols'}
277 0 10 unless ref $m1 eq ref $m2
279 0 10 unless $m1->{'rows'} == $m2->{'rows'}
280 2 8 unless $m1->{'cols'} == $m2->{'cols'}
294 4 84 unless $Ai->[$j] == $Bi->[$j]
304 0 28 unless ref $m1 eq ref $m2
316 6 22 $r1 < $r2 ? :
317 6 22 $c1 < $c2 ? :
326 12 136 if $cmp
329 10 29 if ($c1 != $c2)
377 102 180 if ($absA > $maxA)
383 23 58 if ($imax != $i)
393 0 201 if ($A[$i][$i] == 0)
421 0 2 unless @m
427 0 8 unless $j < $cols
432 0 0 unless ++$i == $rows
434 0 0 if ++$j == $cols
448 8 24 if $i == $r
492 0 3 unless ref $m1 eq ref $m2
496 0 3 unless $m1->{'rows'} == $m2->{'rows'}
685 4 2 if (ref $m2 ne ref $m1)
696 0 2 unless $rows == $m2->{'rows'} and $cols == $m2->{'cols'}
714 6 2 if ($r1 ne $r2)
715 2 4 if ($r1 eq 'Math::MatrixLUP')
720 4 0 if ($r2 eq 'Math::MatrixLUP')
732 0 2 unless $rows == $m2->{'rows'} and $cols == $m2->{'cols'}
747 2 0 if (ref $m2 ne ref $m1)
758 0 0 unless $rows == $m2->{'rows'} and $cols == $m2->{'cols'}
773 2 0 if (ref $m2 ne ref $m1)
784 0 0 unless $rows == $m2->{'rows'} and $cols == $m2->{'cols'}
799 2 0 if (ref $m2 ne ref $m1)
810 0 0 unless $rows == $m2->{'rows'} and $cols == $m2->{'cols'}
828 1 2 if ($r1 ne $r2)
830 1 0 if ($r1 eq 'Math::MatrixLUP')
844 0 2 unless $rows == $m2->{'rows'} and $cols == $m2->{'cols'}
862 1 2 if ($r1 ne $r2)
864 1 0 if ($r1 eq 'Math::MatrixLUP')
878 0 2 unless $rows == $m2->{'rows'} and $cols == $m2->{'cols'}
893 5 23 if (ref $m2 ne ref $m1)
907 0 23 unless $m1->{'cols'} == $m2->{'rows'}
915 162 306 if (not defined $c[$i][$j]) { }
934 4 1 if ($r1 ne $r2)
936 2 2 if ($r1 eq 'Math::MatrixLUP')
941 2 0 if ($r2 eq 'Math::MatrixLUP')
958 10 16 if $_ != $t and $_ < 0
976 4 4 if $_ != $t and $_ > 0
991 3 0 if ($r1 ne $r2)
993 2 1 if ($r1 eq 'Math::MatrixLUP')
998 1 0 if ($r2 eq 'Math::MatrixLUP')
1014 2 4 if $neg and $pow == 1
1018 0 4 if $pow == 0
1021 7 7 if $pow & 1
1022 4 10 unless $pow >>= 1
1026 0 4 $neg ? :
1034 0 0 if ($pow < 0)
1041 0 0 if $pow == 0
1044 0 0 if $pow & 1
1045 0 0 unless $pow >>= 1
1055 0 1 unless $self->{'is_square'}
1056 0 1 unless ref $vector eq 'ARRAY'
1057 0 1 unless $#{$vector;} == $self->{'rows'}
1082 0 7 unless $self->{'is_square'}
1092 3 6 $P->[$i] == $j ? :
1132 0 18 unless $self->{'is_square'}
1143 12 4 if (($$P[$N + 1] - $N) % 2 == 0)