Huffman coding: Difference between revisions
Content added Content deleted
m (→{{header|zkl}}: update) |
|||
Line 5,822: | Line 5,822: | ||
<lang zkl>fcn encode(text,table){ text.pump(String,table.get) } |
<lang zkl>fcn encode(text,table){ text.pump(String,table.get) } |
||
fcn decode(bits,table){ // this is a horrible decoder, for testing only |
fcn decode(bits,table){ // this is a horrible decoder, for testing only |
||
w:=bits.walker( |
w:=bits.walker(); sink:=Sink(String); |
||
try{ s:=""; while(1){ |
try{ s:=""; while(1){ |
||
s+=w.next(); if(c:=table.find(s)) { sink.write(c); s=""; } |
s+=w.next(); if(c:=table.find(s)) { sink.write(c); s=""; } |