compression algorithms in c++