aboutsummaryrefslogtreecommitdiff
path: root/challenge-111/james-smith/perl
diff options
context:
space:
mode:
authordrbaggy <js5@sanger.ac.uk>2021-05-05 02:27:08 +0100
committerdrbaggy <js5@sanger.ac.uk>2021-05-05 02:27:08 +0100
commit95dcbfcf8f6af38ac4039544183d8b03abffc716 (patch)
treea4cb337698c506c995cbc0b31481e9ba14dff595 /challenge-111/james-smith/perl
parent4a4113524272a28555f87d338379876cdb803497 (diff)
downloadperlweeklychallenge-club-95dcbfcf8f6af38ac4039544183d8b03abffc716.tar.gz
perlweeklychallenge-club-95dcbfcf8f6af38ac4039544183d8b03abffc716.tar.bz2
perlweeklychallenge-club-95dcbfcf8f6af38ac4039544183d8b03abffc716.zip
fix dnf so it is quicker by making it a 1-liner return.... (removes an intermediate variable)
Diffstat (limited to 'challenge-111/james-smith/perl')
-rw-r--r--challenge-111/james-smith/perl/ch-1.pl11
1 files changed, 6 insertions, 5 deletions
diff --git a/challenge-111/james-smith/perl/ch-1.pl b/challenge-111/james-smith/perl/ch-1.pl
index 02fa3c878a..4635c73bbc 100644
--- a/challenge-111/james-smith/perl/ch-1.pl
+++ b/challenge-111/james-smith/perl/ch-1.pl
@@ -110,11 +110,12 @@ cmpthese(10_000, {
sub find_val_dnf {
my($v,$m) = @_;
- return 0 if $v < $m->[0][0] || $v > $m->[4][4];
- my $i = $v < $m->[3][0]
- ? ( $v < $m->[1][0] ? 0 : $v < $m->[2][0] ? 1 : 2 )
- : ( $v < $m->[4][0] ? 3 : 4 );
- return 0 + grep { $v == $_ } @{$m->[$i]};
+ return $v < $m->[0][0] || $v > $m->[4][4]
+ ? 0
+ : 0 + grep { $v == $_ } @{$m->[ $v < $m->[3][0]
+ ? ( $v < $m->[1][0] ? 0 : $v < $m->[2][0] ? 1 : 2 )
+ : ( $v < $m->[4][0] ? 3 : 4 )
+ ]};
}
sub flatten {