10 #include <sys/types.h>
15 #include <sys/times.h>
20 #define malloc(n) Malloc(n)
21 #define free(p) Free(p)
22 #define realloc(p,n) Realloc(p,n)
26 void *Realloc (void *p, int n);
30 typedef unsigned char byte;
31 typedef uint trieNode; // a node of lztrie
33 typedef unsigned int uint;
42 #define max(x,y) ((x)>(y)?(x):(y))
43 #define min(x,y) ((x)<(y)?(x):(y))
45 // Bitstream management
47 #define W (8*sizeof(uint))
48 #define bitsW 5 // OJO
50 // bits needed to represent a number between 0 and n
52 // returns e[p..p+len-1], assuming len <= W
53 uint bitget (uint *e, uint p, uint len);
54 // writes e[p..p+len-1] = s, assuming len <= W
55 void bitput (uint *e, uint p, uint len, uint s);
57 #define bitget1(e,p) ((e)[(p)/W] & (1<<((p)%W)))
59 #define bitset(e,p) ((e)[(p)/W] |= (1<<((p)%W)))
61 #define bitclean(e,p) ((e)[(p)/W] &= ~(1<<((p)%W)))
63 extern uint nbits_aux1, *e_aux1, p_aux1;
67 extern uint nbits_aux2, *e_aux2, p_aux2;
71 extern uint nbits_aux3, *e_aux3, p_aux3;