bitset.h 468 B

1234567891011121314151617181920212223
  1. #ifndef Py_BITSET_H
  2. #define Py_BITSET_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. /* Bitset interface */
  7. #define BYTE char
  8. typedef BYTE *bitset;
  9. #define testbit(ss, ibit) (((ss)[BIT2BYTE(ibit)] & BIT2MASK(ibit)) != 0)
  10. #define BITSPERBYTE (8*sizeof(BYTE))
  11. #define BIT2BYTE(ibit) ((ibit) / BITSPERBYTE)
  12. #define BIT2SHIFT(ibit) ((ibit) % BITSPERBYTE)
  13. #define BIT2MASK(ibit) (1 << BIT2SHIFT(ibit))
  14. #ifdef __cplusplus
  15. }
  16. #endif
  17. #endif /* !Py_BITSET_H */