Branch Coverage

blib/lib/ICC/Support/Color.pm
Criterion Covered Total %
branch 2 324 0.6


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') { }