Variable-length quantity: Difference between revisions
m
→{{header|Raku}}: Modernize a bit
Thundergnat (talk | contribs) m (→{{header|Raku}}: Modernize a bit) |
|||
Line 1,692:
=={{header|Raku}}==
(formerly Perl 6)
vlq_encode() returns a string of
<syntaxhighlight lang="raku" line>sub vlq_encode ($number is copy) {
my
$number +>= 7;
while ($number) {
$number +>= 7;
}
@vlq.reverse.join: ':';
}
sub vlq_decode ($string
sum $string.split(':').reverse.map: {(:16($_) +& 127) +< (7 × $++)}
}
Line 1,720 ⟶ 1,713:
0x200000
) -> $testcase {
my $encoded = vlq_encode($testcase);▼
printf "%8s %12s %8s\n", $testcase,
vlq_decode($encoded);
}</syntaxhighlight>
|