diff --git a/src/post_modules/CritBit/critbit/critbit.h b/src/post_modules/CritBit/critbit/critbit.h index 29b29be29b3393e5b1189fde55362ef8a16d5f61..489bd2ea68f90eff69b15b2c7acb69ff85244d27 100644 --- a/src/post_modules/CritBit/critbit/critbit.h +++ b/src/post_modules/CritBit/critbit/critbit.h @@ -15,6 +15,11 @@ #define CB_TYPE(name) CONCAT5(cb_, CB_NAMESPACE, _, name, _t) #endif + +#define MASK(type, bits) (~((~((type)0)) >> (bits))) +#define BITMASK(type, n) ((type)1 << (type)(sizeof(type)*8 - 1 - (n))) +#define BITN(type, p, n) (!!((p) & BITMASK(type, n))) + typedef struct cb_size { size_t bits; ptrdiff_t chars;