(zpaq 1.07+ config file tuned for high compression (slow) Uses 245 x 2^$1 MB memory, where $1 is the first argument. (C) 2009, Ocarina Networks Inc. Written by Matt Mahoney. This software is free under GPL v3. http://www.gnu.org/copyleft/gpl.html ) comp 5 9 0 0 22 (hh hm ph pm n) 0 const 160 1 icm 5 (orders 0-6) 2 isse 13 1 (sizebits j) 3 isse $1+16 2 4 isse $1+18 3 5 isse $1+19 4 6 isse $1+19 5 7 isse $1+20 6 8 match $1+22 $1+24 9 icm $1+17 (order 0 word) 10 isse $1+19 9 (order 1 word) 11 icm 13 (sparse with gaps 1-3) 12 icm 13 13 icm 13 14 icm 14 (pic) 15 mix 16 0 15 24 255 (mix orders 1 and 0) 16 mix 8 0 16 10 255 (including last mixer) 17 mix2 0 15 16 24 0 18 sse 8 17 32 255 (order 0) 19 mix2 8 17 18 16 255 20 sse 16 19 32 255 (order 1) 21 mix2 0 19 20 16 0 hcomp c++ *c=a b=c a=0 (save in rotating buffer) d= 2 hash *d=a b-- (orders 1,2,3,4,5,7) d++ hash *d=a b-- d++ hash *d=a b-- d++ hash *d=a b-- d++ hash *d=a b-- d++ hash b-- hash *d=a b-- d++ hash *d=a b-- (match, order 8) d++ a=*c a&~ 32 (lowercase words) a> 64 if a< 91 if (if a-z) d++ hashd d-- (update order 1 word hash) *d<>a a+=*d a*= 20 *d=a (order 0 word hash) jmp 9 endif endif (else not a letter) a=*d a== 0 ifnot (move word order 0 to 1) d++ *d=a d-- endif *d=0 (clear order 0 word hash) (end else) d++ d++ b=c b-- a=0 hash *d=a (sparse 2) d++ b-- a=0 hash *d=a (sparse 3) d++ b-- a=0 hash *d=a (sparse 4) d++ a=b a-= 212 b=a a=0 hash *d=a b<>a a-= 216 b<>a a=*b a&= 60 hashd (pic) d++ a=*c a<<= 9 *d=a (mix) d++ d++ d++ d++ d++ *d=a (sse) halt post 0 end