22#ifndef ABC__misc__bzlib__bzlib_private_h
23#define ABC__misc__bzlib__bzlib_private_h
41#define BZ_VERSION "1.0.5, 10-Dec-2007"
52#define False ((Bool)0)
61#define AssertH(cond,errcode) \
62 { if (!(cond)) BZ2_bz__AssertH__fail ( errcode ); }
65#define AssertD(cond,msg) \
68 "\n\nlibbzip2(debug build): internal error\n\t%s\n", msg );\
72#define AssertD(cond,msg)
77#define VPrintf1(zf,za1) \
78 fprintf(stderr,zf,za1)
79#define VPrintf2(zf,za1,za2) \
80 fprintf(stderr,zf,za1,za2)
81#define VPrintf3(zf,za1,za2,za3) \
82 fprintf(stderr,zf,za1,za2,za3)
83#define VPrintf4(zf,za1,za2,za3,za4) \
84 fprintf(stderr,zf,za1,za2,za3,za4)
85#define VPrintf5(zf,za1,za2,za3,za4,za5) \
86 fprintf(stderr,zf,za1,za2,za3,za4,za5)
90extern void bz_internal_error (
int errcode );
91#define AssertH(cond,errcode) \
92 { if (!(cond)) bz_internal_error ( errcode ); }
93#define AssertD(cond,msg) do { } while (0)
94#define VPrintf0(zf) do { } while (0)
95#define VPrintf1(zf,za1) do { } while (0)
96#define VPrintf2(zf,za1,za2) do { } while (0)
97#define VPrintf3(zf,za1,za2,za3) do { } while (0)
98#define VPrintf4(zf,za1,za2,za3,za4) do { } while (0)
99#define VPrintf5(zf,za1,za2,za3,za4,za5) do { } while (0)
104#define BZALLOC(nnn) (strm->bzalloc)(strm->opaque,(nnn),1)
105#define BZFREE(ppp) (strm->bzfree)(strm->opaque,(ppp))
117#define BZ_MAX_ALPHA_SIZE 258
118#define BZ_MAX_CODE_LEN 23
127#define BZ_MAX_SELECTORS (2 + (900000 / BZ_G_SIZE))
135#define BZ_RAND_DECLS \
139#define BZ_RAND_INIT_MASK \
143#define BZ_RAND_MASK ((s->rNToGo == 1) ? 1 : 0)
145#define BZ_RAND_UPD_MASK \
146 if (s->rNToGo == 0) { \
147 s->rNToGo = BZ2_rNums[s->rTPos]; \
149 if (s->rTPos == 512) s->rTPos = 0; \
159#define BZ_INITIALISE_CRC(crcVar) \
161 crcVar = 0xffffffffL; \
164#define BZ_FINALISE_CRC(crcVar) \
166 crcVar = ~(crcVar); \
169#define BZ_UPDATE_CRC(crcVar,cha) \
171 crcVar = (crcVar << 8) ^ \
172 BZ2_crc32Table[(crcVar >> 24) ^ \
181#define BZ_M_RUNNING 2
182#define BZ_M_FLUSHING 3
183#define BZ_M_FINISHING 4
191#define BZ_N_OVERSHOOT (BZ_N_RADIX + BZ_N_QSORT + BZ_N_SHELL + 2)
296#define BZ_X_MAGIC_1 10
297#define BZ_X_MAGIC_2 11
298#define BZ_X_MAGIC_3 12
299#define BZ_X_MAGIC_4 13
300#define BZ_X_BLKHDR_1 14
301#define BZ_X_BLKHDR_2 15
302#define BZ_X_BLKHDR_3 16
303#define BZ_X_BLKHDR_4 17
304#define BZ_X_BLKHDR_5 18
305#define BZ_X_BLKHDR_6 19
306#define BZ_X_BCRC_1 20
307#define BZ_X_BCRC_2 21
308#define BZ_X_BCRC_3 22
309#define BZ_X_BCRC_4 23
310#define BZ_X_RANDBIT 24
311#define BZ_X_ORIGPTR_1 25
312#define BZ_X_ORIGPTR_2 26
313#define BZ_X_ORIGPTR_3 27
314#define BZ_X_MAPPING_1 28
315#define BZ_X_MAPPING_2 29
316#define BZ_X_SELECTOR_1 30
317#define BZ_X_SELECTOR_2 31
318#define BZ_X_SELECTOR_3 32
319#define BZ_X_CODING_1 33
320#define BZ_X_CODING_2 34
321#define BZ_X_CODING_3 35
328#define BZ_X_ENDHDR_2 42
329#define BZ_X_ENDHDR_3 43
330#define BZ_X_ENDHDR_4 44
331#define BZ_X_ENDHDR_5 45
332#define BZ_X_ENDHDR_6 46
333#define BZ_X_CCRC_1 47
334#define BZ_X_CCRC_2 48
335#define BZ_X_CCRC_3 49
336#define BZ_X_CCRC_4 50
342#define MTFA_SIZE 4096
446#define BZ_GET_FAST(cccc) \
448 if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
449 s->tPos = s->tt[s->tPos]; \
450 cccc = (UChar)(s->tPos & 0xff); \
453#define BZ_GET_FAST_C(cccc) \
455 if (c_tPos >= (UInt32)100000 * (UInt32)ro_blockSize100k) return True; \
456 c_tPos = c_tt[c_tPos]; \
457 cccc = (UChar)(c_tPos & 0xff); \
460#define SET_LL4(i,n) \
461 { if (((i) & 0x1) == 0) \
462 s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0xf0) | (n); else \
463 s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0x0f) | ((n) << 4); \
467 ((((UInt32)(s->ll4[(i) >> 1])) >> (((i) << 2) & 0x4)) & 0xF)
470 { s->ll16[i] = (UInt16)(n & 0x0000ffff); \
471 SET_LL4(i, n >> 16); \
475 (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16))
477#define BZ_GET_SMALL(cccc) \
479 if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
480 cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \
481 s->tPos = GET_LL(s->tPos);
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
void BZ2_compressBlock(EState *, Bool)
Int32 BZ2_indexIntoF(Int32, Int32 *)
UInt32 BZ2_crc32Table[256]
void BZ2_hbAssignCodes(Int32 *, UChar *, Int32, Int32, Int32)
void BZ2_hbCreateDecodeTables(Int32 *, Int32 *, Int32 *, UChar *, Int32, Int32, Int32)
void BZ2_bsInitWrite(EState *)
void BZ2_bz__AssertH__fail(int errcode)
Int32 BZ2_decompress(DState *)
void BZ2_blockSort(EState *)
#define BZ_MAX_ALPHA_SIZE
void BZ2_hbMakeCodeLengths(UChar *, Int32 *, Int32, Int32)
UInt32 calculatedBlockCRC
UChar selector[BZ_MAX_SELECTORS]
UInt32 calculatedCombinedCRC
Int32 base[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE]
Int32 perm[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE]
UChar len[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE]
Int32 minLens[BZ_N_GROUPS]
UChar selectorMtf[BZ_MAX_SELECTORS]
Int32 mtfbase[256/MTFL_SIZE]
Int32 limit[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE]
UChar selector[BZ_MAX_SELECTORS]
Int32 mtfFreq[BZ_MAX_ALPHA_SIZE]
Int32 code[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE]
UInt32 len_pack[BZ_MAX_ALPHA_SIZE][4]
UChar selectorMtf[BZ_MAX_SELECTORS]
Int32 rfreq[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE]
UChar len[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE]