RosettaCodeData/Task/LZW-compression/J/lzw-compression-2.j
2023-07-01 13:44:08 -04:00

16 lines
236 B
Text

decodeLZW =: 4 : 0
d=.;/x
w=.r=. >d{~{.y
ds=. #d
for_c. }.y do.
select. * c-ds
case. _1 do. r=.r,e=.>c{d
case. 0 do. r=.r,e=.w,{.w
case. do. 'error' return.
end.
d=.d,< w,{.e
w=.e
ds=.ds+1
end.
;r
)