Condition Coverage

blib/lib/Math/MatrixReal.pm
Criterion Covered Total %
condition 157 341 46.0


and 3 conditions

line !l l&&!r l&&r condition
99 0 0 1824 $rows > 0 and $rows == int $rows
102 0 0 1824 $cols > 0 and $cols == int $cols
138 0 0 2 ref $diag eq 'ARRAY' and ref $lower eq 'ARRAY'
0 0 2 ref $diag eq 'ARRAY' and ref $lower eq 'ARRAY' and ref $upper eq 'ARRAY'
140 0 0 2 $l == $m and $n == $l + 1
159 0 13 0 $options = $cols and $cols = $rows
166 30 7 0 $rows != $cols and $options->{'symmetric'}
168 1 0 35 $rows > 0 and $rows == int $rows
0 0 35 $cols > 0 and $cols == int $cols
1 35 0 $rows > 0 and $rows == int $rows and ($cols > 0 and $cols == int $cols)
171 1 0 34 defined $min and defined $max
1 1 33 defined $min and defined $max and $min < $max
175 30 2 1 $options->{'tridiag'} || $options->{'tridiagonal'} and $rows != $cols
178 30 1 1 $options->{'diag'} || $options->{'diagonal'} and $rows != $cols
232 25 0 0 @_ > 1 && ref $_[-1] eq 'HASH'
244 30 0 0 @_ > 1 && ref $_[-1] eq 'HASH'
297 1 17 0 $ref ne 'HASH' and $current_vector->isa('Math::MatrixReal') || $current_vector->isa('Math::MatrixComplex')
414 0 0 471 $rows1 == $rows2 and $cols1 == $cols2
460 1 0 3 $x1 >= 1 and $x2 >= 1
1 0 3 $x1 >= 1 and $x2 >= 1 and $y1 >= 1
0 1 2 $x1 >= 1 and $x2 >= 1 and $y1 >= 1 and $y2 >= 1
480 0 0 137 $rows > 1 and $cols > 1
482 0 0 137 $r > 0 and $c > 0
484 0 0 137 $r <= $rows and $c <= $cols
498 2118 864 595 $i >= $r and $j >= $c
2118 0 864 $i >= $r and $j < $c
0 858 1260 $i < $r and $j < $c
0 0 858 $i < $r and $j >= $c
520 0 0 1 $col1 <= $cols and $col2 <= $cols
0 0 1 $col1 <= $cols and $col2 <= $cols and $col1 == int $col1
0 0 1 $col1 <= $cols and $col2 <= $cols and $col1 == int $col1 and $col2 == int $col2
537 0 0 1 $row1 <= $rows and $row2 <= $rows
0 0 1 $row1 <= $rows and $row2 <= $rows and $row1 == int $row1
0 0 1 $row1 <= $rows and $row2 <= $rows and $row1 == int $row1 and $row2 == int $row2
832 0 0 1 $rows1 == $rows2 and $cols1 == $cols2
903 0 0 69 $rows1 == $cols2 and $cols1 == $rows2
942 0 0 25 $rows1 == $rows2 and $rows1 == $rows3
0 0 25 $rows1 == $rows2 and $rows1 == $rows3 and $cols1 == $cols2
0 0 25 $rows1 == $rows2 and $rows1 == $rows3 and $cols1 == $cols2 and $cols1 == $cols3
966 0 0 171 $rows1 == $rows2 and $rows1 == $rows3
0 0 171 $rows1 == $rows2 and $rows1 == $rows3 and $cols1 == $cols2
0 0 171 $rows1 == $rows2 and $rows1 == $rows3 and $cols1 == $cols2 and $cols1 == $cols3
990 0 0 24 $rows1 == $rows2 and $cols1 == $cols2
1307 0 0 113 defined $LR_matrix->[3] and $rows == $cols
1398 0 0 25 defined $matrix->[3] and $rows == $cols
1450 0 0 1 $rows1 == $rows2 and $cols1 == $cols2
1488 0 0 145 defined $matrix->[3] and $rows == $cols
1512 0 0 5 defined $matrix->[3] and $rows == $cols
1689 0 0 0 $rows2 == $n and $rows3 == $n
1747 0 0 0 $rows2 == $n and $rows3 == $n
1806 0 0 0 $rows2 == $n and $rows3 == $n
2663 6 2 4 $j == $col and $i != $row
2691 6 2 4 $j == $col and $i != $row
2731 6 2 4 $j == $col and $i != $row
6 0 2 $j == $col and $i == $row
2844 0 1 4 defined $argument and ref $argument
1 0 4 defined $argument and ref $argument and not ref($argument) =~ /^SCALAR$|^ARRAY$|^HASH$|^CODE$|^REF$/
2929 3 2 2 defined $precision and $precision == 0
2956 0 0 25 defined $argument and ref $argument
0 0 25 defined $argument and ref $argument and not ref($argument) =~ /^SCALAR$|^ARRAY$|^HASH$|^CODE$|^REF$/
2982 0 0 164 defined $argument and ref $argument
0 0 164 defined $argument and ref $argument and not ref($argument) =~ /^SCALAR$|^ARRAY$|^HASH$|^CODE$|^REF$/
3072 0 21 32 defined $argument and ref $argument
21 0 32 defined $argument and ref $argument and not ref($argument) =~ /^SCALAR$|^ARRAY$|^HASH$|^CODE$|^REF$/
0 0 21 defined $argument and not ref $argument
3075 0 32 0 defined $flag and $flag
3137 0 1 9 defined $argument and ref $argument
1 0 9 defined $argument and ref $argument and not ref($argument) =~ /^SCALAR$|^ARRAY$|^HASH$|^CODE$|^REF$/
3167 0 1 3 defined $argument and ref $argument
1 0 3 defined $argument and ref $argument and not ref($argument) =~ /^SCALAR$|^ARRAY$|^HASH$|^CODE$|^REF$/
3171 1 0 2 $r == $rows and $c == $cols
3196 0 2 3 defined $argument and ref $argument
2 0 3 defined $argument and ref $argument and not ref($argument) =~ /^SCALAR$|^ARRAY$|^HASH$|^CODE$|^REF$/
0 0 2 defined $argument and not ref $argument
3199 0 3 0 defined $flag and $flag
3208 0 2 0 defined $flag and $flag
3224 0 0 2 defined $argument and ref $argument
0 0 2 defined $argument and ref $argument and not ref($argument) =~ /^SCALAR$|^ARRAY$|^HASH$|^CODE$|^REF$/
0 0 0 defined $argument and not ref $argument
3227 0 2 0 defined $flag and $flag
3234 0 0 0 defined $flag and $flag
3250 0 0 3 defined $argument and ref $argument
0 0 3 defined $argument and ref $argument and not ref($argument) =~ /^SCALAR$|^ARRAY$|^HASH$|^CODE$|^REF$/
0 0 0 defined $argument and not ref $argument
3253 0 3 0 defined $flag and $flag
3260 0 0 0 defined $flag and $flag
3276 0 0 2 defined $argument and ref $argument
0 0 2 defined $argument and ref $argument and not ref($argument) =~ /^SCALAR$|^ARRAY$|^HASH$|^CODE$|^REF$/
0 0 0 defined $argument and not ref $argument
3279 0 2 0 defined $flag and $flag
3286 0 0 0 defined $flag and $flag

or 2 conditions

line l !l condition
97 1824 0 ref $self || $self || 'Math::MatrixReal'
162 37 0 ref $self || $self || 'Math::MatrixReal'
194 181 0 ref $self || $self || 'Math::MatrixReal'
2598 0 2 $eps ||= 1e-08

or 3 conditions

line l !l&&r !l&&!r condition
164 22 15 0 $cols ||= $rows
175 3 0 30 $options->{'tridiag'} || $options->{'tridiagonal'}
178 2 0 30 $options->{'diag'} || $options->{'diagonal'}
183 1 0 30 $options->{'diag'} || $options->{'diagonal'}
184 2 0 29 $options->{'tridiag'} or $options->{'tridiagonal'}
266 10 45 0 ref $proto || $proto
297 17 0 0 $current_vector->isa('Math::MatrixReal') || $current_vector->isa('Math::MatrixComplex')
335 47 51 0 $matrix_dim{$other_type} ||= $length
342 45 0 51 $matrix ||= $class->new($matrix_dim{'row'}, $matrix_dim{'column'})
621 0 0 19 $row < 1 or $row > $rows
642 0 0 39 $col < 1 or $col > $cols
718 0 0 2794 $row < 1 or $row > $rows
719 0 0 2794 $col < 1 or $col > $cols
732 0 0 3289 $row < 1 or $row > $rows
733 0 0 3289 $col < 1 or $col > $cols
787 0 5 0 $v->is_row_vector or $v->is_col_vector
789 1 4 0 $p =~ /Inf(inity)?/i or $p >= 1
1588 2 0 0 $cols == 1 or $rows == 1
2370 16 1 2 $matrix->is_upper_triangular or $matrix->is_lower_triangular
2636 9 52 1 $m->[0][$i][$j] == 1 or $m->[0][$i][$j] == 0