Module compression

Module compression 

Source
Expand description

Simple compression utilities for integer data

Implements Run-Length Encoding (RLE) combined with VByte and ZigZag encoding for efficient storage of sparse integer data (like wavelet coefficients).

Functions§

compress_rle
Compress a slice of i32 using RLE + ZigZag + VByte Format:
decode_vbyte
Decode a u32 using VByte encoding
decompress_rle
Decompress RLE data to Vec expected_len is the expected number of integers (optional check)
encode_vbyte
Encode a u32 using VByte (variable length) encoding Returns the number of bytes written
zigzag_decode
ZigZag decode an unsigned integer to signed
zigzag_encode
ZigZag encode a signed integer to unsigned Maps small signed integers to small unsigned integers 0 -> 0, -1 -> 1, 1 -> 2, -2 -> 3, …