Rice coding: Difference between revisions

Content added Content deleted
(→‎{{header|raku}}: raku -> Raku)
Line 117: Line 117:
for i = 1, q do result[ #result + 1 ] = "1" end
for i = 1, q do result[ #result + 1 ] = "1" end
result[ #result + 1 ] = "0"
result[ #result + 1 ] = "0"
local dPos = #result + 1
local dPos, digits, v = #result + 1, 0, r
local digits = 0
while v > 0 do
if r > 0 then
digits = digits + 1
local v = r
local d = v % 2
while v > 0 do
v = math.floor( v / 2 )
digits = digits + 1
table.insert( result, dPos, d ~= 0 and "1" or "0" )
local d = v % 2
v = math.floor( v / 2 )
table.insert( result, dPos, d ~= 0 and "1" or "0" )
end
end
end
for pad = digits + 1, k do table.insert( result, dPos, "0" ) end
for pad = digits + 1, k do table.insert( result, dPos, "0" ) end
Line 177: Line 173:
end
end


end
end</syntaxhighlight>
</syntaxhighlight>
{{out}}
{{out}}
Same as the Julia sample,
Same as the Julia sample,