Run-length encoding: Difference between revisions
Content added Content deleted
(Added Zig) |
(add RPL) |
||
Line 5,090: | Line 5,090: | ||
12W1B12W3B24W1B14W |
12W1B12W3B24W1B14W |
||
WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW |
WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW |
||
</pre> |
|||
=={{header|RPL}}== |
|||
≪ DUP 1 DUP SUB → in c |
|||
≪ "" 1 |
|||
2 in SIZE '''FOR''' j |
|||
in j DUP SUB |
|||
'''IF''' DUP c == '''THEN''' DROP 1 + |
|||
'''ELSE''' |
|||
ROT ROT |
|||
→STR + c + |
|||
SWAP 'c' STO 1 |
|||
'''END''' |
|||
'''NEXT''' |
|||
→STR + c + |
|||
≫ ≫ ‘<span style="color:blue">RLENC</span>’ STO |
|||
≪ → in |
|||
≪ "" 0 |
|||
1 in SIZE '''FOR''' j |
|||
in j DUP SUB |
|||
'''IF''' DUP "A" ≥ '''THEN''' |
|||
ROT 1 4 ROLL '''START''' OVER + '''NEXT''' |
|||
SWAP DROP 0 |
|||
'''ELSE''' STR→ SWAP 10 * + '''END''' |
|||
'''NEXT''' DROP |
|||
≫ ≫ ‘<span style="color:blue">RLDEC</span>’ STO |
|||
"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW" <span style="color:blue">RLENC</span> DUP <span style="color:blue">RLDEC</span> |
|||
{{out}} |
|||
<pre> |
|||
2: "12W1B12W3B24W1B14W" |
|||
1: "WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW" |
|||
</pre> |
</pre> |
||