compression.lzw: additional refactoring
parent
f5c4fbb10c
commit
47c2864de3
basis/compression/lzw
|
@ -55,11 +55,10 @@ ERROR: not-in-table value ;
|
||||||
|
|
||||||
GENERIC: code-space-full? ( lzw -- ? )
|
GENERIC: code-space-full? ( lzw -- ? )
|
||||||
|
|
||||||
M: tiff-lzw code-space-full?
|
: size-and-limit ( lzw -- m n ) [ table>> length ] [ code-size>> 2^ ] bi ;
|
||||||
[ table>> length ] [ code-size>> 2^ 1 - ] bi = ;
|
|
||||||
|
|
||||||
M: gif-lzw code-space-full?
|
M: tiff-lzw code-space-full? size-and-limit 1 - = ;
|
||||||
[ table>> length ] [ code-size>> 2^ ] bi = ;
|
M: gif-lzw code-space-full? size-and-limit = ;
|
||||||
|
|
||||||
: maybe-increment-code-size ( lzw -- lzw )
|
: maybe-increment-code-size ( lzw -- lzw )
|
||||||
dup code-space-full? [ [ 1 + ] change-code-size ] when ;
|
dup code-space-full? [ [ 1 + ] change-code-size ] when ;
|
||||||
|
|
Loading…
Reference in New Issue