diff options
-rw-r--r-- | Changes | 6 | ||||
-rw-r--r-- | lzfP.h | 2 | ||||
-rw-r--r-- | lzf_c.c | 6 |
3 files changed, 9 insertions, 5 deletions
@@ -1,4 +1,8 @@ -0.4 +0.5 + - slightly better compression ratio, almost unmeasurably + slower. + +0.4 Thu Jun 13 14:11:10 CEST 2002 - typoe fix. - lzf demo program now properly decompresses small files. - fix another 64 bit issue, found by Laurent Deniel. @@ -50,7 +50,7 @@ /* * sacrifice some compression quality in favour of compression speed. * (roughly 1-2% worse compression for large blocks and - * 9-10% for small, redundant, blocks and 20% better speed in both cases) + * 9-10% for small, redundant, blocks and >>20% better speed in both cases) * In short: enable this for binary data, disable this for text data. */ #ifndef ULTRA_FAST @@ -38,7 +38,7 @@ */ #define FRST(p) (((p[0]) << 8) + p[1]) #define NEXT(v,p) (((v) << 8) + p[2]) -#define IDX(h) ((((h ^ (h << 4)) >> (3*8 - HLOG)) + h*3) & (HSIZE - 1)) +#define IDX(h) ((((h ^ (h << 5)) >> (3*8 - HLOG)) + h*3) & (HSIZE - 1)) /* * IDX works because it is very similar to a multiplicative hash, e.g. * (h * 57321 >> (3*8 - HLOG)) @@ -49,8 +49,8 @@ #if 0 /* original lzv-like hash function */ # define FRST(p) (p[0] << 5) ^ p[1] -# define NEXT(v,p) (v << 5) ^ p[2] -# define IDX(h) (h) & (HSIZE - 1) +# define NEXT(v,p) ((v) << 5) ^ p[2] +# define IDX(h) ((h) & (HSIZE - 1)) #endif #define MAX_LIT (1 << 5) |