windows-nt/Source/XPSP1/NT/base/mspatch/lzx/encoder/encmacro.h
2020-09-26 16:20:57 +08:00

25 lines
530 B
C

/*
* encmacro.h
*
* Encoder macros
*/
/*
* Returns the slot number of a match position (uses table lookup)
*/
#define MP_SLOT(matchpos) \
((matchpos) < 1024 ? \
context->enc_slot_table[(matchpos)] : \
( (matchpos) < 524288L ? \
(18 + context->enc_slot_table[(matchpos) >> 9]) : \
(34 + ((matchpos) >> 17)) \
) \
)
/*
* Is a given literal a match or an unmatched symbol?
*/
#define IsMatch(literal) (context->enc_ItemType[(literal) >> 3] & (1 << ((literal) & 7)))