diff options
| -rw-r--r-- | challenge-114/mark-anderson/raku/ch-2.raku | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/challenge-114/mark-anderson/raku/ch-2.raku b/challenge-114/mark-anderson/raku/ch-2.raku deleted file mode 100644 index 5560624c9c..0000000000 --- a/challenge-114/mark-anderson/raku/ch-2.raku +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env raku - -# my translation of https://www.slideshare.net/gkumar007/bits-next-higher-presentation -# (slide 9) - -use Test; -plan 9; - -is next-set-bits(3), 5; -is next-set-bits(6), 9; -is next-set-bits(11), 13; -is next-set-bits(23), 27; -is next-set-bits(24), 33; -is next-set-bits(44), 49; -is next-set-bits(46), 51; -is next-set-bits(240), 263; -is next-set-bits(2³²), 2³³; - -sub next-set-bits($N) -{ - my $bits = 0 ~ $N.base(2); - - my $m = $bits ~~ / $<head> = <[01]>* 0 $<ones> = 1+ $<zeros> = 0* /; - - my @ones = $m<ones>.comb andthen .shift; - my @bits = @ones andthen .append($m<zeros>.comb); - @bits .= rotate(@ones); - - $m<head> ~ 10 ~ @bits.join andthen .parse-base(2); -} |
