I finally got off my ass and put together a fully bijective from any file to any file
BWTS DC thing.
I would like to thank Yuta since we talked alot and fixed his DC to make it shorter
for some cases. So that it would lead to this code. I have the original stuff Yuta
sent me in the file. He really does fast clean work in changing DC.
I would also like to thank Shelwien who help motivate me.
ALso Matt for his encouragement.
There are many other people that helped so far.
The guy who uses Fibonacci on comp.compression I told him years ago I would
write a bijective Fibonacii thing OK i did.
Look it may have errors I tested in forward direction the calgary18 got 882,031
which considering I have not added an arb255 style arithmetic coder yet I
think is pretty good. I still got the file "BANANAS" to compress smaller.
I tested the reverse on short files. The problem is that I wanted to use 0 as
a table exit code. This meant '1111' in the input close to front would cause
symbol table to end when testing even short files. So I used the 256th
symbol bijectively as the stop in table. The same problem occurs when using
0 to terminate the n-2 character runs it occurs randomly to often so used 21.
Please test it on short files when testing for full bijectiveity.
by short I mean 100 bytes or less. It can blow up to a gig even
in a dozen bytes. I don't count that as an error. Look I can go
a lot farther but this is a start. Please look at it.