Condition Coverage

blib/lib/Math/MatrixReal.pm
Criterion Covered Total %
condition 158 341 46.3


and 3 conditions

line !l l&&!r l&&r condition
99 0 0 1772 $rows > 0 and $rows == int $rows
102 0 0 1772 $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
165 30 6 1 $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
174 30 2 1 $$options{'tridiag'} || $$options{'tridiagonal'} and $rows != $cols
177 30 1 1 $$options{'diag'} || $$options{'diagonal'} and $rows != $cols
232 25 0 0 @_ > 1 && ref $_[-1] eq 'HASH'
244 28 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
817 0 0 1 $rows1 == $rows2 and $cols1 == $cols2
888 0 0 57 $rows1 == $cols2 and $cols1 == $rows2
927 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
951 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
975 0 0 24 $rows1 == $rows2 and $cols1 == $cols2
1292 0 0 113 defined $$LR_matrix[3] and $rows == $cols
1383 0 0 25 defined $$matrix[3] and $rows == $cols
1435 0 0 1 $rows1 == $rows2 and $cols1 == $cols2
1473 0 0 145 defined $$matrix[3] and $rows == $cols
1497 0 0 5 defined $$matrix[3] and $rows == $cols
1674 0 0 0 $rows2 == $n and $rows3 == $n
1732 0 0 0 $rows2 == $n and $rows3 == $n
1791 0 0 0 $rows2 == $n and $rows3 == $n
2648 6 2 4 $j == $col and $i != $row
2676 6 2 4 $j == $col and $i != $row
2716 6 2 4 $j == $col and $i != $row
6 0 2 $j == $col and $i == $row
2829 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$/
2914 3 2 2 defined $precision and $precision == 0
2941 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$/
2967 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$/
3057 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
3060 0 32 0 defined $flag and $flag
3122 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$/
3152 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$/
3156 1 0 2 $r == $rows and $c == $cols
3181 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
3184 0 3 0 defined $flag and $flag
3193 0 2 0 defined $flag and $flag
3209 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
3212 0 2 0 defined $flag and $flag
3219 0 0 0 defined $flag and $flag
3235 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
3238 0 3 0 defined $flag and $flag
3245 0 0 0 defined $flag and $flag
3261 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
3264 0 2 0 defined $flag and $flag
3271 0 0 0 defined $flag and $flag

or 2 conditions

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

or 3 conditions

line l !l&&r !l&&!r condition
164 22 15 0 $cols ||= $rows
174 3 0 30 $$options{'tridiag'} || $$options{'tridiagonal'}
177 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 43 0 ref $proto || $proto
297 17 0 0 $current_vector->isa('Math::MatrixReal') || $current_vector->isa('Math::MatrixComplex')
335 45 49 0 $matrix_dim{$other_type} ||= $length
342 43 0 49 $matrix ||= $class->new($matrix_dim{'row'}, $matrix_dim{'column'})
621 0 0 15 $row < 1 or $row > $rows
642 0 0 11 $col < 1 or $col > $cols
703 0 0 2784 $row < 1 or $row > $rows
704 0 0 2784 $col < 1 or $col > $cols
717 0 0 3091 $row < 1 or $row > $rows
718 0 0 3091 $col < 1 or $col > $cols
772 0 5 0 $v->is_row_vector or $v->is_col_vector
774 1 4 0 $p =~ /Inf(inity)?/i or $p >= 1
1573 2 0 0 $cols == 1 or $rows == 1
2355 16 1 2 $matrix->is_upper_triangular or $matrix->is_lower_triangular
2621 9 52 1 $$m[0][$i][$j] == 1 or $$m[0][$i][$j] == 0