| line | true | false | branch | 
 
| 70 | 0 | 1 | if (@_ == 1 and ref $_[0] eq 'HASH') { } | 
 
|  | 0 | 1 | elsif (@_) { } | 
 
| 97 | 0 | 0 | if (@_) | 
 
| 100 | 0 | 0 | if (@_ == 1 and ref $_[0] eq 'HASH') { } | 
 
| 133 | 0 | 0 | if (@_) | 
 
| 136 | 0 | 0 | if (@_ == 1 and ref $_[0] eq 'ARRAY') { } | 
 
| 145 | 0 | 0 | if (@{$array;}) | 
 
| 148 | 0 | 0 | unless @{$array;} == 2 | 
 
| 151 | 0 | 0 | unless ref $array->[0] eq 'ARRAY' and 3 == @{$array->[0];} and 3 == grep({&Scalar::Util::looks_like_number($_);} @{$$array[0];}) and $array->[0][2] | 
 
| 154 | 0 | 0 | unless ($sx = ICC::Shared::round(($array->[0][1] - $array->[0][0]) / $array->[0][2])) > 0 | 
 
| 157 | 0 | 0 | unless ref $array->[1] eq 'ARRAY' and $#{$$array[1];} == $sx and @{$array->[1];} == grep({&Scalar::Util::looks_like_number($_);} @{$$array[1];}) | 
 
| 163 | 0 | 0 | if (defined $self->[2][0]) | 
 
| 200 | 0 | 0 | if (@_) | 
 
| 203 | 0 | 0 | if (@_ == 1 and ref $_[0] eq 'ARRAY') { } | 
 
| 212 | 0 | 0 | if (@{$array;}) | 
 
| 215 | 0 | 0 | unless @{$array;} == 2 | 
 
| 218 | 0 | 0 | unless ref $array->[0] eq 'ARRAY' and 3 == @{$array->[0];} and 3 == grep({&Scalar::Util::looks_like_number($_);} @{$$array[0];}) and $array->[0][2] | 
 
| 221 | 0 | 0 | unless ($sx = ICC::Shared::round(($array->[0][1] - $array->[0][0]) / $array->[0][2])) > 0 | 
 
| 224 | 0 | 0 | unless ref $array->[1] eq 'ARRAY' || UNIVERSAL::isa($array->[1], 'Math::Matrix') and ref $array->[1][0] eq 'ARRAY' and $#{$$array[1][0];} == $sx and @{$array->[1][0];} == grep({&Scalar::Util::looks_like_number($_);} @{$$array[1][0];}) | 
 
| 230 | 0 | 0 | if (defined $self->[1][0]) | 
 
| 266 | 0 | 0 | if (@_) | 
 
| 269 | 0 | 0 | if (@_ == 1 and ref $_[0] eq 'ARRAY') { } | 
 
| 278 | 0 | 0 | if (@{$array;}) | 
 
| 281 | 0 | 0 | unless @{$array;} == 2 | 
 
| 284 | 0 | 0 | unless ref $array->[0] eq 'ARRAY' and 3 == @{$array->[0];} and 3 == grep({&Scalar::Util::looks_like_number($_);} @{$$array[0];}) and $array->[0][2] | 
 
| 287 | 0 | 0 | unless ($sx = ICC::Shared::round(($array->[0][1] - $array->[0][0]) / $array->[0][2])) > 0 | 
 
| 290 | 0 | 0 | unless ref $array->[1] eq 'ARRAY' || UNIVERSAL::isa($array->[1], 'Math::Matrix') and ref $array->[1][0] eq 'ARRAY' and $#{$$array[1][0];} == $sx and @{$array->[1][0];} == grep({&Scalar::Util::looks_like_number($_);} @{$$array[1][0];}) | 
 
| 333 | 0 | 0 | defined($code = _encoding($self, $hash)) ? : | 
 
| 351 | 0 | 0 | ref $_[-1] eq 'HASH' ? : | 
 
| 354 | 0 | 0 | unless defined $_[0][3][0] and defined $_[0][3][1] | 
 
| 357 | 0 | 0 | if (@_ == $h + 2 and UNIVERSAL::isa($_[1], 'Math::Matrix')) { } | 
 
|  | 0 | 0 | elsif (@_ == $h + 2 and ref $_[1] eq 'ARRAY') { } | 
 
|  | 0 | 0 | elsif (@_ == $h + 1 + grep({&Scalar::Util::looks_like_number($_);} @_)) { } | 
 
| 366 | 0 | 0 | if (not ref $_[1][0] and @{$_[1];} == grep({&Scalar::Util::looks_like_number($_);} @{$_[1];})) { } | 
 
|  | 0 | 0 | elsif (ref $_[1][0] eq 'ARRAY' and @{$_[1];} == grep({&Scalar::Util::looks_like_number($_->[0]) if ref $_ eq 'ARRAY';} @{$_[1];})) { } | 
 
| 372 | 0 | 0 | if ref $_ eq 'ARRAY' | 
 
| 417 | 0 | 0 | unless $range = $hash->{'range'} || $$srh{@{$in;}} | 
 
| 420 | 0 | 0 | if ($range->[2] == $self->[3][0][2]) { } | 
 
|  | 0 | 0 | elsif ($range->[2] > $self->[3][0][2]) { } | 
 
| 439 | 0 | 0 | if (defined($encoding = $hash->{'encoding'}) and $encoding ne 'XYZ' and $encoding ne 'RGBV') | 
 
| 442 | 0 | 0 | if ($encoding eq 'ICC_XYZ' and @{$jac;} == 3) { } | 
 
|  | 0 | 0 | elsif ($encoding eq 'ICC_XYZNumber' and @{$jac;} == 3) { } | 
 
|  | 0 | 0 | elsif ($encoding eq 'xyz' and @{$jac;} == 3) { } | 
 
|  | 0 | 0 | elsif ($encoding eq 'unit' and @{$jac;} == 4) { } | 
 
|  | 0 | 0 | elsif ($encoding eq 'density' and @{$jac;} == 4) { } | 
 
| 477 | 0 | 0 | unless $self->[5][0] and $self->[5][1] and $self->[5][2] | 
 
| 518 | 0 | 0 | unless $out->[0] and $out->[1] and $out->[2] and $out->[3] | 
 
| 548 | 0 | 0 | if (wantarray) { } | 
 
| 575 | 0 | 0 | ref $p eq 'ARRAY' ? : | 
 
|  | 0 | 0 | defined $p ? : | 
 
| 578 | 0 | 0 | defined $p->[0] && !ref($p->[0]) ? : | 
 
| 600 | 0 | 0 | if ref $_[-1] eq 'HASH' | 
 
| 622 | 0 | 0 | unless $range = $hash->{'range'} || $$srh{@{$in;}} | 
 
| 625 | 0 | 0 | if ($range->[2] == $self->[3][0][2]) { } | 
 
|  | 0 | 0 | elsif ($range->[2] > $self->[3][0][2]) { } | 
 
| 644 | 0 | 0 | if ($lapack) { } | 
 
| 662 | 0 | 0 | defined($code = _encoding($self, $hash)) ? : | 
 
| 681 | 0 | 0 | unless $range = $hash->{'range'} || $$srh{@{$in->[0];}} | 
 
| 684 | 0 | 0 | if ($range->[2] == $self->[3][0][2]) { } | 
 
|  | 0 | 0 | elsif ($range->[2] > $self->[3][0][2]) { } | 
 
| 703 | 0 | 0 | if ($lapack) { } | 
 
| 726 | 0 | 0 | if ($code = _encoding($self, $hash)) | 
 
| 739 | 0 | 0 | UNIVERSAL::isa($in, 'Math::Matrix') ? : | 
 
| 768 | 0 | 0 | if (@{$in;} == grep({&Scalar::Util::looks_like_number($_);} @{$in;})) { } | 
 
| 779 | 0 | 0 | if (ref $in->[$i] eq 'ARRAY') { } | 
 
| 810 | 0 | 0 | if (defined $self->[4][0] and $self->[4][0][0] == $range_data->[0] and $self->[4][0][1] == $range_data->[1] and $self->[4][0][2] == $range_data->[2]) | 
 
| 830 | 0 | 0 | if ($method eq 'linear') { } | 
 
|  | 0 | 0 | elsif ($method eq 'cspline') { } | 
 
|  | 0 | 0 | elsif ($method eq 'lagrange') { } | 
 
| 855 | 0 | 0 | if ($lapack) { } | 
 
| 861 | 0 | 0 | if ($bandpass) | 
 
| 874 | 0 | 0 | if ($bandpass) | 
 
| 911 | 0 | 0 | if ($bandpass eq 'astm') { } | 
 
| 922 | 0 | 0 | if ($method eq 'linear') { } | 
 
|  | 0 | 0 | elsif ($method eq 'cspline') { } | 
 
|  | 0 | 0 | elsif ($method eq 'lagrange') { } | 
 
| 947 | 0 | 0 | if ($bandpass eq 'triangle') { } | 
 
|  | 0 | 0 | elsif ($bandpass eq 'trapezoid') { } | 
 
|  | 0 | 0 | elsif (ref $bandpass eq 'ARRAY' and $#{$bandpass;} == $jx) { } | 
 
| 978 | 0 | 0 | if ($lapack) { } | 
 
| 1021 | 0 | 0 | if ($i == $j) { } | 
 
|  | 0 | 0 | elsif (abs $i - $j == 1 and $i > 0 and $i < $ix) { } | 
 
|  | 0 | 0 | elsif (abs $i - $j == 2 and $i > 0 and $i < $ix) { } | 
 
| 1023 | 0 | 0 | if ($i == 0 or $i == $ix) { } | 
 
|  | 0 | 0 | elsif ($i == 1 or $i == $ix - 1) { } | 
 
| 1040 | 0 | 0 | if ($j == 0 or $j == $ix) { } | 
 
| 1080 | 0 | 0 | unless $shape >= 0 and $shape <= 1 | 
 
| 1083 | 0 | 0 | unless $ix == int $ix and not $ix % 4 | 
 
| 1086 | 0 | 0 | if ($shape) { } | 
 
| 1105 | 0 | 0 | $v > 1 ? : | 
 
|  | 0 | 0 | $v < 0 ? : | 
 
| 1129 | 0 | 0 | unless @{$bpf;} % 2 | 
 
| 1132 | 0 | 0 | unless $ix == int $ix and $ix >= 0 | 
 
| 1177 | 0 | 0 | if (defined $self->[4][0] and $self->[4][0][0] == $range_data->[0] and $self->[4][0][1] == $range_data->[1] and $self->[4][0][2] == $range_data->[2]) | 
 
| 1194 | 0 | 0 | unless abs $off - ICC::Shared::round($off) < 1e-12 | 
 
| 1200 | 0 | 0 | if ($bandpass and $bandpass ne 'six') | 
 
| 1203 | 0 | 0 | if ($lapack) { } | 
 
| 1244 | 0 | 0 | if ($range_matrix->[0] < $range_data->[0]) { } | 
 
|  | 0 | 0 | elsif ($range_matrix->[0] > $range_data->[0]) { } | 
 
| 1264 | 0 | 0 | if ($range_matrix->[1] > $range_data->[1]) { } | 
 
|  | 0 | 0 | elsif ($range_matrix->[1] < $range_data->[1]) { } | 
 
| 1303 | 0 | 0 | if (defined $self->[0]{'cwf_range'}) { } | 
 
|  | 0 | 0 | elsif ($self->[2][0][2] != ($inc = $self->[0]{'increment'} // 1)) { } | 
 
| 1331 | 0 | 0 | if ($self->[0]{'observer_exp'}) | 
 
| 1346 | 0 | 0 | if (defined $self->[1][0]) { } | 
 
| 1352 | 0 | 0 | $self->[0]{'imethod'} // ($smooth == 0 || $smooth > 0.001) ? : | 
 
| 1355 | 0 | 0 | if (defined($bandpass = $self->[0]{'ibandpass'})) { } | 
 
| 1371 | 0 | 0 | if ($method eq 'linear') { } | 
 
|  | 0 | 0 | elsif ($method eq 'cspline') { } | 
 
|  | 0 | 0 | elsif ($method eq 'lagrange') { } | 
 
| 1463 | 0 | 0 | if (not @{$array;}) { } | 
 
|  | 0 | 0 | elsif (@files = grep({-f $_;} File::Glob::bsd_glob($array->[0]))) { } | 
 
|  | 0 | 0 | elsif (@files = grep({-f $_;} File::Glob::bsd_glob(ICC::Shared::getICCPath("Data/$array->[0]_illums_*.yml")))) { } | 
 
|  | 0 | 0 | elsif (@{$array;} == grep({ref $_ eq 'ARRAY';} @{$array;})) { } | 
 
| 1475 | 0 | 0 | defined $array->[1] ? : | 
 
| 1478 | 0 | 0 | unless &Scalar::Util::looks_like_number($s) and $s == int $s and $s > 0 and $s <= $illum->size | 
 
| 1484 | 0 | 0 | unless $self->[1][1] = $illum->spectral([$s])->[0] | 
 
| 1499 | 0 | 0 | unless $self->[1][1] = $$illum{$array->[1]} | 
 
| 1505 | 0 | 0 | unless ref $array->[0] eq 'ARRAY' and 3 == @{$array->[0];} and 3 == grep({&Scalar::Util::looks_like_number($_);} @{$$array[0];}) and $array->[0][2] | 
 
| 1508 | 0 | 0 | unless ($sx = ICC::Shared::round(($array->[0][1] - $array->[0][0]) / $array->[0][2])) > 0 | 
 
| 1511 | 0 | 0 | unless ref $array->[1] eq 'ARRAY' and $#{$$array[1];} == $sx and @{$array->[1];} == grep({&Scalar::Util::looks_like_number($_);} @{$$array[1];}) | 
 
| 1524 | 0 | 0 | defined $hash->{'increment'} ? : | 
 
| 1527 | 0 | 0 | if ($inc == 1) { } | 
 
|  | 0 | 0 | elsif ($inc == 5) { } | 
 
| 1552 | 0 | 0 | defined $hash->{'observer'} ? : | 
 
| 1555 | 0 | 0 | if (ref $obs eq 'ARRAY') { } | 
 
| 1558 | 0 | 0 | unless @{$obs;} == 2 | 
 
| 1562 | 0 | 0 | unless ref $obs->[0] eq 'ARRAY' and @{$obs->[0];} == grep({&Scalar::Util::looks_like_number($_);} @{$$obs[0];}) and @{$obs->[0];} == 3 and $obs->[0][2] and not +($obs->[0][1] - $obs->[0][0]) % $obs->[0][2] | 
 
| 1565 | 0 | 0 | unless ($sx = ICC::Shared::round(($obs->[0][1] - $obs->[0][0]) / $obs->[0][2])) > 0 | 
 
| 1569 | 0 | 0 | unless ref $obs->[1] eq 'ARRAY' || UNIVERSAL::isa($obs->[1], 'Math::Matrix') and ref $obs->[1][0] eq 'ARRAY' and $#{$$obs[1][0];} == $sx and @{$obs->[1][0];} == grep({&Scalar::Util::looks_like_number($_);} @{$$obs[1][0];}) | 
 
| 1577 | 0 | 0 | unless $key = {'2', 'CIE1931', '10', 'CIE1964', '2P', 'CIE2012D2', '10P', 'CIE2012D10'}->{$obs} | 
 
| 1610 | 0 | 0 | if (defined $hash->{'increment'}) | 
 
| 1616 | 0 | 0 | unless @m = grep({$hash->{'increment'} eq $inc[$_];} 0 .. $#inc) | 
 
| 1619 | 0 | 0 | @m ? : | 
 
| 1624 | 0 | 0 | if (defined $hash->{'observer'}) | 
 
| 1630 | 0 | 0 | unless @m = grep({$hash->{'observer'} eq $obs[$_];} 0 .. $#obs) | 
 
| 1633 | 0 | 0 | @m ? : | 
 
| 1638 | 0 | 0 | if (defined $hash->{'illuminant'}) { } | 
 
| 1644 | 0 | 0 | unless @m = grep({$hash->{'illuminant'} eq $illum[$_];} 0 .. $#illum) | 
 
| 1647 | 0 | 0 | @m ? : | 
 
| 1658 | 0 | 0 | defined $hash->{'bandpass'} && $hash->{'bandpass'} eq 'six' ? : | 
 
| 1702 | 0 | 0 | if (defined $hash->{'status'}) | 
 
| 1705 | 0 | 0 | unless @m = grep({$hash->{'status'} eq $_;} 'A', 'M', 'T', 'E', 'I') | 
 
| 1708 | 0 | 0 | @m ? : | 
 
| 1713 | 0 | 0 | if (defined $hash->{'increment'}) | 
 
| 1716 | 0 | 0 | unless @m = grep({$hash->{'increment'} eq $_;} '10', '20') | 
 
| 1719 | 0 | 0 | @m ? : | 
 
| 1762 | 0 | 0 | if @{$v;} < 3 | 
 
| 1776 | 0 | 0 | $s ? : | 
 
| 1792 | 0 | 0 | if (defined($encoding = $hash->{'encoding'}) and not $encoding =~ /^(XYZ|RGBV|linear)$/) { } | 
 
| 1798 | 0 | 0 | if ($encoding eq 'ICC_XYZ' and $size == 3) { } | 
 
|  | 0 | 0 | elsif ($encoding eq 'ICC_XYZNumber' and $size == 3) { } | 
 
|  | 0 | 0 | elsif ($encoding eq 'xyz' and $size == 3) { } | 
 
|  | 0 | 0 | elsif ($encoding eq 'unit' and $size == 4) { } | 
 
|  | 0 | 0 | elsif ($encoding eq 'density' and $size == 4) { } | 
 
| 1813 | 0 | 0 | unless $self->[5][0] and $self->[5][1] and $self->[5][2] | 
 
| 1828 | 0 | 0 | $_ > 0 ? : | 
 
| 1860 | 0 | 0 | if (defined($range = $hash->{'range'})) | 
 
| 1863 | 0 | 0 | unless ref $range eq 'ARRAY' and 3 == @{$range;} and 3 == grep({&Scalar::Util::looks_like_number($_);} @{$range;}) | 
 
| 1869 | 0 | 0 | unless $ox > 0 and abs $ox * $range->[2] - $range->[1] + $range->[0] < 1e-12 and $range->[2] > 0 | 
 
| 1877 | 0 | 0 | if (defined $hash->{'status'} and not ref $hash->{'status'}) { } | 
 
|  | 0 | 0 | elsif (defined $hash->{'illuminant'} and ref $hash->{'illuminant'} eq 'ARRAY') { } |