Derive-C
Loading...
Searching...
No Matches
utils.h File Reference

Go to the source code of this file.

Macros

#define DC_ARENA_GEO_INDEX_TO_BLOCK(IDX, INITIAL_BLOCK_INDEX_BITS)
#define DC_ARENA_GEO_INDEX_TO_OFFSET(IDX, BLOCK, INITIAL_BLOCK_INDEX_BITS)
#define DC_ARENA_GEO_BLOCK_TO_SIZE(BLOCK, INITIAL_BLOCK_INDEX_BITS)
#define DC_ARENA_GEO_BLOCK_OFFSET_TO_INDEX(BLOCK, OFFSET, INITIAL_BLOCK_INDEX_BITS)
#define DC_ARENA_GEO_MAX_NUM_BLOCKS(INDEX_BITS, INITIAL_BLOCK_INDEX_BITS)

Macro Definition Documentation

◆ DC_ARENA_GEO_BLOCK_OFFSET_TO_INDEX

#define DC_ARENA_GEO_BLOCK_OFFSET_TO_INDEX ( BLOCK,
OFFSET,
INITIAL_BLOCK_INDEX_BITS )
Value:
((BLOCK == 0 ? 0 : (1ULL << ((BLOCK - 1) + (INITIAL_BLOCK_INDEX_BITS)))) + OFFSET)
#define INITIAL_BLOCK_INDEX_BITS
Definition template.h:78

Definition at line 16 of file utils.h.

16#define DC_ARENA_GEO_BLOCK_OFFSET_TO_INDEX(BLOCK, OFFSET, INITIAL_BLOCK_INDEX_BITS) \
17 ((BLOCK == 0 ? 0 : (1ULL << ((BLOCK - 1) + (INITIAL_BLOCK_INDEX_BITS)))) + OFFSET)

◆ DC_ARENA_GEO_BLOCK_TO_SIZE

#define DC_ARENA_GEO_BLOCK_TO_SIZE ( BLOCK,
INITIAL_BLOCK_INDEX_BITS )
Value:
(size_t)(BLOCK == 0 ? (1ULL << INITIAL_BLOCK_INDEX_BITS) \
: (1ULL << ((BLOCK - 1) + (INITIAL_BLOCK_INDEX_BITS))))

Definition at line 12 of file utils.h.

12#define DC_ARENA_GEO_BLOCK_TO_SIZE(BLOCK, INITIAL_BLOCK_INDEX_BITS) \
13 (size_t)(BLOCK == 0 ? (1ULL << INITIAL_BLOCK_INDEX_BITS) \
14 : (1ULL << ((BLOCK - 1) + (INITIAL_BLOCK_INDEX_BITS))))

◆ DC_ARENA_GEO_INDEX_TO_BLOCK

#define DC_ARENA_GEO_INDEX_TO_BLOCK ( IDX,
INITIAL_BLOCK_INDEX_BITS )
Value:
? 0 \
#define DC_MATH_MSB_INDEX(x)
Definition math.h:38

Definition at line 4 of file utils.h.

4#define DC_ARENA_GEO_INDEX_TO_BLOCK(IDX, INITIAL_BLOCK_INDEX_BITS) \
5 (uint8_t)(DC_MATH_MSB_INDEX(IDX) < (INITIAL_BLOCK_INDEX_BITS) \
6 ? 0 \
7 : ((1 + DC_MATH_MSB_INDEX(IDX)) - (INITIAL_BLOCK_INDEX_BITS)))

◆ DC_ARENA_GEO_INDEX_TO_OFFSET

#define DC_ARENA_GEO_INDEX_TO_OFFSET ( IDX,
BLOCK,
INITIAL_BLOCK_INDEX_BITS )
Value:
(size_t)(IDX - (BLOCK == 0 ? 0 : (1ULL << ((BLOCK - 1) + (INITIAL_BLOCK_INDEX_BITS)))))

Definition at line 9 of file utils.h.

9#define DC_ARENA_GEO_INDEX_TO_OFFSET(IDX, BLOCK, INITIAL_BLOCK_INDEX_BITS) \
10 (size_t)(IDX - (BLOCK == 0 ? 0 : (1ULL << ((BLOCK - 1) + (INITIAL_BLOCK_INDEX_BITS)))))

◆ DC_ARENA_GEO_MAX_NUM_BLOCKS

#define DC_ARENA_GEO_MAX_NUM_BLOCKS ( INDEX_BITS,
INITIAL_BLOCK_INDEX_BITS )
Value:
#define INDEX_BITS
Definition template.h:13

Definition at line 19 of file utils.h.

19#define DC_ARENA_GEO_MAX_NUM_BLOCKS(INDEX_BITS, INITIAL_BLOCK_INDEX_BITS) \
20 ((INDEX_BITS - INITIAL_BLOCK_INDEX_BITS) + 1)