From a182b1835bb327e6aef827b89ea1e8825380bd82 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Mon, 5 Oct 2009 22:34:43 -0500 Subject: [PATCH] minor cleanup of compression.inflate --- basis/compression/inflate/inflate.factor | 38 ++++++++++-------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/basis/compression/inflate/inflate.factor b/basis/compression/inflate/inflate.factor index ecc6493c32..d7fb2bb3fb 100644 --- a/basis/compression/inflate/inflate.factor +++ b/basis/compression/inflate/inflate.factor @@ -1,13 +1,12 @@ ! Copyright (C) 2009 Marc Fauconneau. ! See http://factorcode.org/license.txt for BSD license. USING: accessors arrays assocs byte-vectors combinators -compression.huffman fry hashtables io.binary kernel locals math -math.bitwise math.order math.ranges sequences sorting ; +combinators.smart compression.huffman fry hashtables io.binary +kernel literals locals math math.bitwise math.order math.ranges +sequences sorting ; QUALIFIED-WITH: bitstreams bs IN: compression.inflate -QUALIFIED-WITH: bitstreams bs - seq ( assoc -- seq ) @@ -29,13 +28,6 @@ ERROR: bad-zlib-header ; 2 data bs:seek ! compression level; ignore ; -:: default-table ( -- table ) - 0 :> table - 0 143 [a,b] 280 287 [a,b] append 8 table set-at - 144 255 [a,b] >array 9 table set-at - 256 279 [a,b] >array 7 table set-at - table enum>seq 1 tail ; - CONSTANT: clen-shuffle { 16 17 18 0 8 7 9 6 10 5 11 4 12 3 13 2 14 1 15 } : get-table ( values size -- table ) @@ -67,13 +59,17 @@ CONSTANT: clen-shuffle { 16 17 18 0 8 7 9 6 10 5 11 4 12 3 13 2 14 1 15 } [ dup array? [ second 0 ] [ 1array ] if ] map concat nip swap cut 2array [ [ length>> [0,b) ] [ ] bi get-table ] map ; -: static-huffman-tables ( -- tables ) - 0 143 [a,b] [ 8 ] replicate - 144 255 [a,b] [ 9 ] replicate append - 256 279 [a,b] [ 7 ] replicate append - 280 287 [a,b] [ 8 ] replicate append - 0 31 [a,b] [ 5 ] replicate - 2array [ [ length>> [0,b) ] [ ] bi get-table ] map ; +CONSTANT: static-huffman-tables + $[ + [ + 0 143 [a,b] [ 8 ] replicate + 144 255 [a,b] [ 9 ] replicate append + 256 279 [a,b] [ 7 ] replicate append + 280 287 [a,b] [ 8 ] replicate append + ] append-outputs + 0 31 [a,b] [ 5 ] replicate 2array + [ [ length>> [0,b) ] [ ] bi get-table ] map + ] CONSTANT: length-table { @@ -183,10 +179,8 @@ CONSTANT: dist-table { 1 [ inflate-static ] } { 2 [ inflate-dynamic ] } { 3 [ bad-zlib-data f ] } - } - case - ] - [ produce ] keep call suffix concat ; + } case + ] [ produce ] keep call suffix concat ; PRIVATE>