You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
554 B
24 lines
554 B
/*
|
|
* 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)))
|