Skip to main content

deflate_zlib

Function deflate_zlib 

Source
pub fn deflate_zlib(data: &[u8]) -> Vec<u8>
Expand description

zlib stream を生成する (feature write)。

DEFLATE の fixed Huffman block (RFC 1951 3.2.6) 1 つに LZ77 の一致を 符号化する。dynamic Huffman は持たない (表の構築と符号化で実装が倍になる 割に、git object 程度の大きさでは利得が小さい)。圧縮結果が stored block より大きくなる入力 (乱数に近い blob 等) では stored block を返す。

一致探索は 3 byte の hash から直近の位置 1 つを引く単純なもので、chain を 持たない。作業領域は hash 表 (HASH_SIZE entry の u32) と出力のみ。