=========================================================================== BICOM 1.01 bijective compressor =========================================================================== Copyright (C) 2000 Matt Timmermans Free for non-commercial purposes as long as this notice remains intact. To discuss commercial use, mail me at matt@timmermans.org =========================================================================== EXECUTION Run bicom without arguments to get help on the command line. =========================================================================== BUILDING The two directories include MS VC6 project files. bicom\bicom.dsw is the main workspace. If you're using some other compiler, just compile all the .cpp files in bialib as a static library, and compile bicom.cpp as a normal console app that links with it. This code should work on most platforms, but has only been tested in Win32. =========================================================================== TESTING bitest.bat is provided to test the bijective properties of the encoder under Win32. bitest will compress and decompress 4 times in each direction to give files a1-a9. a1 is then compressed 8 times to give b1-b9. b9 is then decompressed 8 times to give c1-c9. fc /b is then used to ensure that ai==bi==ci for all i in [0,9] bitest -p will do the same thing, but with encryption turned on. ========= !WARNING! Arbitrary files can get quite big when you repeatedly ========= decompress them! If you run bicom -T, it will test bijectivity on all small files. A passphrase can be supplied. It prints out periods as it goes, with one period == 256 test files. (each test file is processed 4 times, in different ways) This is very slow, because each run needs a fair bit of setup work.