Skip to content

A school project where I made data compression algorithms using c++

Notifications You must be signed in to change notification settings

bntti/tiralabra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tiralabra: Data compression

Doxygen workflow status badge Release workflow status badge Codecov workflow status badge codecov

Downloading precompiled binary

Visit the releases page and download the newest release and follow the instructions there.

Compilation

Dependencies

  • g++
  • make

Optional dependencies

  • catch2 (for running tests)
  • doxygen (for generating documentation)
  • cppcheck (for code analysis)

Usage

Command Description
make Compiles program
make BUILD=release Creates release build
make test Compile and run tests
make analyze Runs code analysis
make check Same as make analyze && make test
doxygen Generate documentation (also available here)

Running program

$ ./bnzip <args> <file>
Argument Description
-c, --compress Compress given file
-d, --decompress Decompress given file
-h, --help Show usage instructions and arguments
-l, --lzw Use LZW to compress
-v, --verbose Print what program is doing
  • If no compression or decompression arguments are given, then the program decompresses the file if the filename name ends with .bnzip and otherwise compresses it.
  • When compressing and -l or --lzw argument is not provided, Huffman coding is used to compress the file.
  • When decompressing, it is not necessary to provide -l or --lzw argument, because the file contains information about what it was compressed with.

Documents

Week reports

Other documents