@@ -16,14 +16,16 @@ typedef bitmap_granule_t bitmap_t;
1616
1717static const bitmap_granule_t ONE = 1 ;
1818
19- #define BITMAP_GRANULE_LEN (sizeof(bitmap_granule_t) * 8)
20- #define BITMAP_GRANULE_MASK (O , L ) BIT32_MASK((O), (L))
19+ #define BITMAP_GRANULE_LEN (sizeof(bitmap_granule_t) * 8)
20+ #define BITMAP_GRANULE_MASK (O , L ) BIT32_MASK((O), (L))
2121
22- #define BITMAP_SIZE (SIZE ) (((SIZE) / BITMAP_GRANULE_LEN) + ((SIZE) % BITMAP_GRANULE_LEN ? 1 : 0))
23- #define BITMAP_SIZE_IN_BYTES (NUM_BITS ) (((NUM_BITS) / 8) + (((NUM_BITS) % 8) > 0 ? 1 : 0))
24- #define BITMAP_ALLOC (NAME , SIZE ) bitmap_granule_t NAME[BITMAP_SIZE(SIZE)]
22+ #define BITMAP_SIZE (NUM_BITS , BITS_PER_UNIT ) \
23+ (((NUM_BITS) / (BITS_PER_UNIT)) + (((NUM_BITS) % (BITS_PER_UNIT)) ? 1 : 0))
24+ #define BITMAP_SIZE_IN_GRANULE (NUM_BITS ) (BITMAP_SIZE((NUM_BITS), (BITMAP_GRANULE_LEN)))
25+ #define BITMAP_SIZE_IN_BYTES (NUM_BITS ) (BITMAP_SIZE((NUM_BITS), 8))
26+ #define BITMAP_ALLOC (NAME , SIZE ) bitmap_granule_t NAME[BITMAP_SIZE_IN_GRANULE(SIZE)]
2527
26- #define BITMAP_ALLOC_ARRAY (NAME , SIZE , NUM ) bitmap_granule_t NAME[NUM][BITMAP_SIZE (SIZE)]
28+ #define BITMAP_ALLOC_ARRAY (NAME , SIZE , NUM ) bitmap_granule_t NAME[NUM][BITMAP_SIZE_IN_GRANULE (SIZE)]
2729
2830static inline void bitmap_set (bitmap_t * map , size_t bit )
2931{
0 commit comments