Bit masks


Defines

#define WORD_ONE   UINT32_C(1)
 Value 1 in the type word_t.
#define MSB_SHIFT   5
 Base-2 logarithm of WORD_BITS.
#define LSB_MASK   ((WORD_ONE << MSB_SHIFT) - WORD_ONE)
 A bitmask for extracting the least significant bits of an index.

Typedefs

typedef uint_fast32_t word_t
 The type which is used to store the bit vectors.

Functions

static size_t get_msb_index (size_t i)
 Get the most significant bits of the index i.
static word_t get_lsb_bit (size_t i)
 Get the least significant bits of the index i.


Define Documentation

#define LSB_MASK   ((WORD_ONE << MSB_SHIFT) - WORD_ONE)

A bitmask for extracting the least significant bits of an index.

Definition at line 106 of file types.c.

Referenced by get_lsb_bit().

#define MSB_SHIFT   5

Base-2 logarithm of WORD_BITS.

Definition at line 96 of file types.c.

Referenced by get_msb_index().

#define WORD_ONE   UINT32_C(1)

Value 1 in the type word_t.

Definition at line 94 of file types.c.

Referenced by get_lsb_bit().


Typedef Documentation

typedef uint_fast32_t word_t

The type which is used to store the bit vectors.

Definition at line 92 of file types.c.


Function Documentation

static word_t get_lsb_bit ( size_t  i  )  [inline, static]

Get the least significant bits of the index i.

The least significant bits choose the bit within a word. Cf. get_msb_index.

Definition at line 119 of file types.c.

References LSB_MASK, and WORD_ONE.

static size_t get_msb_index ( size_t  i  )  [inline, static]

Get the most significant bits of the index i.

The most significant bits choose the word where the boolean value is stored. Cf. get_lsb_bit.

Definition at line 111 of file types.c.

References MSB_SHIFT.