Source code of Windows XP (NT5)
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
530 B

  1. /*
  2. * encmacro.h
  3. *
  4. * Encoder macros
  5. */
  6. /*
  7. * Returns the slot number of a match position (uses table lookup)
  8. */
  9. #define MP_SLOT(matchpos) \
  10. ((matchpos) < 1024 ? \
  11. context->enc_slot_table[(matchpos)] : \
  12. ( (matchpos) < 524288L ? \
  13. (18 + context->enc_slot_table[(matchpos) >> 9]) : \
  14. (34 + ((matchpos) >> 17)) \
  15. ) \
  16. )
  17. /*
  18. * Is a given literal a match or an unmatched symbol?
  19. */
  20. #define IsMatch(literal) (context->enc_ItemType[(literal) >> 3] & (1 << ((literal) & 7)))