Skip to content

Files

Latest commit

author
aufdj
May 12, 2024
d4e327e · May 12, 2024

History

History
46 lines (29 loc) · 1.08 KB

README.md

File metadata and controls

46 lines (29 loc) · 1.08 KB

compression-algorithms

A collection of Rust compression algorithms.

LZ Family Algorithms

  • lz77: Sliding window compression.

  • lzw: Dictionary compression.

  • flzp1: Byte-oriented LZP compression.

Arithmetic Encoders

  • fpaq1: Indirect context modeling arithmetic encoder.

  • lpaq11: Context mixing arithmetic encoder.

Other

  • huffman: Static Huffman coding.

  • bwt: Burrows-Wheeler Transform.

Usage

    Usage: [PROGRAM_NAME] [ALGORITHM] [MODE] [INPUT] [OUTPUT]

    ALGORITHM:
        -lz77     LZ77 
        -lzw      LZW
        -flzp     LZP
        -fpaq     Adaptive arithmetic encoder
        -lpaq1    Context mixing arithmetic encoder
        -huffman  Static Huffman coding
        -bwt      Burrows-Wheeler transform

    MODE:
        -c        Compress
        -d        Decompress

    EXAMPLES:
        Compress C:/foo with fpaq and save to C:/bar:

        program_name -fpaq -c C:/foo C:/bar

Footnotes

  1. Created by Matt Mahoney. 2 3