blib/lib/Games/Sudoku/General.pm | |||
---|---|---|---|
Criterion | Covered | Total | % |
condition | 63 | 125 | 50.4 |
line | !l | l&&!r | l&&r | condition |
---|---|---|---|---|
713 | 0 | 0 | 6 | $self->{'constraints_used'} and defined wantarray |
870 | 0 | 0 | 0 | ref $const and 'HASH' ne ref $const |
1121 | 1651 | 0 | 0 | $self->{'cells_unused'} and not @{$self->{'cell'}[$inx]{'membership'};} |
1857 | 18128 | 25229 | 266 | $suppliers[$val] and @{$suppliers[$val];} == 1 |
1915 | 275300 | 47368 | 52243 | not $imposs and $int_supplies[$val] |
1923 | 450 | 9511 | 28 | @occurs_in and @occurs_in < @set_names |
2044 | 118 | 39 | 5 | $tcontr[$val] and $contributed->[$val] > $tcontr[$val] |
2072 | 8946 | 8086 | 108 | $tcontr[$val] and $contributed->[$val] == $tcontr[$val] |
2079 | 30 | 10 | 14 | $tcontr[$val] and $contributed->[$val] > $tcontr[$val] |
2084 | 69 | 12 | 16 | $tuple_member[$inx] and not $open->[$inx]{'possible'}{$val} |
2170 | 1 | 0 | 0 | $self->{'debug'} and $inx |
2175 | 45 | 0 | 0 | $min and $self->{'cells_unassigned'} >= $min |
2185 | 0 | 0 | 0 | $max and $self->{'cells_unassigned'} <= $max |
0 | 0 | 0 | $max and $self->{'cells_unassigned'} <= $max and not exists $removal_ok->{$constraint} | |
2187 | 0 | 0 | 0 | defined $removal_ok->{$constraint} and --$removal_ok->{$constraint} |
2200 | 45 | 0 | 0 | $max and $self->{'cells_unassigned'} <= $max |
45 | 0 | 0 | $max and $self->{'cells_unassigned'} <= $max and $constraint eq '?' | |
2404 | 1894 | 0 | 0 | $self->{'cells_unused'} && !@{$_->{'membership'};} |
line | l | !l | condition |
---|---|---|---|
679 | 192 | 276 | $self->{'intersection'}{$int} ||= [] |
869 | 0 | 0 | $const ||= 'F N B T' |
1081 | 19 | 0 | $val ||= '' |
1581 | 1199 | 1421 | $self->{'intersection'}{$int} ||= [] |
1585 | 2454 | 263 | $self->{'set'}{$name} ||= {'name', $name, 'membership', []} |
1723 | 19 | 0 | $self->{'backtrack_stack'} ||= [] |
1725 | 19 | 0 | $self->{'constraints_used'} ||= {} |
1851 | 76667 | 26229 | $suppliers[$val] ||= [] |
1981 | 7404 | 281 | $contributors{$name} ||= [] |
1987 | 221 | 60 | $tuple[scalar @open] ||= [map({[$_];} 0 .. $#open)] |
2049 | 2 | 3 | $constraint ||= ['T', 'naked', $order] |
2167 | 1 | 0 | $self->{'constraints_used'} ||= {} |
2404 | 1686 | 208 | $_->{'content'} or 0 |
line | l | !l&&r | !l&&!r | condition |
---|---|---|---|---|
736 | 0 | 1 | 0 | $copier ||= eval { do { require Clipboard; 'Clipboard'->import; sub { 'Clipboard'->copy(join('', @_)); return; } } } |
864 | 0 | 0 | 0 | $min ||= do { floor($size * $size / ($self->{'largest_set'} * keys(%{$$self{'set'};}))) } |
868 | 0 | 0 | 0 | $max ||= floor($min * 1.5) |
996 | 8 | 0 | 0 | $self->{'rows'} ||= floor(@{$self->{'cell'};} / $col) |
1033 | 0 | 1 | 0 | $paster ||= eval { do { require Clipboard; 'Clipboard'->import; return sub { return 'Clipboard'->paste; } } } |
1137 | 1651 | 0 | 0 | @{$self->{'cell'}[$inx]{'membership'};} or $_ eq $self->{'symbol_list'}[0] |
1281 | 0 | 6 | 0 | $size ||= $horiz * $vert |
1282 | 0 | 0 | 6 | $size % $horiz or $size % $vert |
1512 | 0 | 0 | 21 | $value < 0 or $value >= @status_values |
1754 | 0 | 716 | 0 | $constraint_method{$constraint} || "_constraint_$constraint" |
2054 | 10 | 6 | 7 | $tuple_member[$inx] or $open->[$inx]{'possible'}{$val} |
2205 | 42 | 3 | 0 | $constraint eq 'F' or $constraint eq 'N' |
0 | 0 | 0 | $constraint eq 'B' or $constraint eq 'T' | |
2323 | 0 | 0 | 44 | not defined $_ or ref $_ |
2397 | 22 | 0 | 0 | $self->{'rows'} ||= floor(@{$self->{'cell'};} / $col) |