aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Smith <js5@sanger.ac.uk>2022-11-21 10:06:53 +0000
committerGitHub <noreply@github.com>2022-11-21 10:06:53 +0000
commitc168e00d304e7ae57f59012beb6a94ef43bce7eb (patch)
treec68cad93091675eae52b19173cade74c0218e554
parent65768e01278e2130696dedc43ecb66ffa415ef17 (diff)
downloadperlweeklychallenge-club-c168e00d304e7ae57f59012beb6a94ef43bce7eb.tar.gz
perlweeklychallenge-club-c168e00d304e7ae57f59012beb6a94ef43bce7eb.tar.bz2
perlweeklychallenge-club-c168e00d304e7ae57f59012beb6a94ef43bce7eb.zip
Update ch-1.pl
-rw-r--r--challenge-192/james-smith/perl/ch-1.pl5
1 files changed, 5 insertions, 0 deletions
diff --git a/challenge-192/james-smith/perl/ch-1.pl b/challenge-192/james-smith/perl/ch-1.pl
index 4a347bc343..6526f74650 100644
--- a/challenge-192/james-smith/perl/ch-1.pl
+++ b/challenge-192/james-smith/perl/ch-1.pl
@@ -11,8 +11,13 @@ use Data::Dumper qw(Dumper);
my @TESTS = ( [5,2],[4,3],[6,1] );
is( binary_flip( $_->[0] ), $_->[1] ) for @TESTS;
+is( string_flip( $_->[0] ), $_->[1] ) for @TESTS;
done_testing();
+sub string_flip {
+ oct '0b'.sprintf('%b',$_[0])=~tr/01/10/r;
+}
+
sub binary_flip {
my($r,$k,$n) = (0,1,shift);
$r|=(~$n&1)<<$k++, $n>>=1 while $n;