| line |
l |
!l&&r |
!l&&!r |
condition |
|
12
|
1 |
0 |
0 |
"List::Util"->can("uniqstr") // sub {
my %seen;
grep((!$seen{$_}++), @_);
}
|
|
33
|
0 |
7 |
0 |
$self->{'macro_prefix'} // uc $self->prefix |
|
38
|
0 |
3 |
0 |
$self->{'symbol_prefix'} // lc $self->prefix |
|
83
|
0 |
3 |
0 |
$self->{'value_table_var'} // $self->symbol_prefix . 'value_table' |
|
95
|
0 |
4 |
0 |
$CodeGen::Cpppp::INDENT // (shift())->indent |
|
120
|
0 |
0 |
0 |
not defined $val[0] or $_algorithm{$val[0]} |
|
156
|
0 |
0 |
5 |
$self->{'num_format'} // $num_str =~ /^-?0x[0-9A-F]+$/u |
|
183
|
0 |
2 |
0 |
$self->{'_analysis'} //= do {
my(@vals) = map([$_->[0], $self->_parse_value_expr($_->[1])], $self->values);
my $base_expr = $vals[0][1];
my(%seen_ofs) = ($vals[0][2], 1);
foreach $_ (@vals[1 .. $#vals]) {
$base_expr = undef, last unless $_->[1] eq $base_expr;
++$seen_ofs{$_->[2]};
};
my(%info) = ("vals", \@vals);
if (defined $base_expr) {
my($min, $max) = (&min(keys %seen_ofs), &max(keys %seen_ofs));
my($is_seq, $is_nearly_seq, $gap);
if ($max - $min - @vals <= $self->max_waste_factor * @vals) {
$gap = 0;
foreach $_ ($min .. $max) {
++$gap unless $seen_ofs{$_};
};
$is_seq = $gap == 0;
$is_nearly_seq = $gap <= $self->max_waste_factor * ($max - $min + 1 - $gap);
};
$info{'is_seq'} = $is_seq;
$info{'is_nearly_seq'} = $is_nearly_seq;
$info{'gap'} = $gap;
$info{'min'} = $min;
$info{'max'} = $max;
$info{'base_expr'} = $base_expr;
};
\%info
} |
|
362
|
2 |
2 |
13 |
not defined $best_i or abs $goal - @less < abs $goal - @$best_less |
|
368
|
0 |
0 |
0 |
not defined $best_i or abs $goal - @less < abs $goal - @$best_less |