LZW reference code in C++
C++ Rust C Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
res
LzwTest.cpp
LzwTest.h
LzwTest.rc
LzwTest.sln
LzwTest.vcxproj
LzwTest.vcxproj.filters
LzwTest.vcxproj.user
LzwTestDlg.cpp
LzwTestDlg.h
Makefile
README.md
benchmark-compress.sh
benchmark-gzip.sh
license.txt
lzw-a.h
lzw-b.h
lzw-c.h
lzw-d.h
lzw.cpp
lzw.h
lzw_streambase.h
resource.h
stdafx.h
targetver.h

README.md

This file contains the C++ source code that accompanies my article LZW Revisited, found at:

http://marknelson.us/2011/11/08/lzw-revisited/

The core LZW algorithm is in the header file lzw.h.

Depending on the type of I/O you are implementing, you will need to include one of the four header files:

lzw-a.h
lzw-b.h
lzw-c.h
lzw-d.h

There are two driver programs you can use to experiment with LZW. A command line program that works under Linux or Windows is found in lzw.cpp. A Windows GUI app is descripted in LzwTest.vcproj and various additional source files.