Data Structures | |
| struct | zom_t |
| Bit-parallel arithmetic on numbers 0, 1, more. More... | |
Functions | |
| static unsigned | naive_bitcount (unsigned w) |
| Compute the number of ones in the binary representation of w. | |
| static void | init_bitcount (void) |
| Initialise the array bitcount. | |
| static unsigned | bitcount (word_t w) |
| Compute the number of ones in the binary representation of w. | |
| static zom_t | zom_add (zom_t x, zom_t y) |
| Calculate x + y in zom_t. | |
| static word_t | zom_exactly_1 (zom_t x) |
| Return a bit vector where a bit is set if the value is exactly 1. | |
| static void | word_clear (word_t *restrict array, size_t n) |
| Zero an array of word_t. | |
| static void | zom_clear (zom_t *restrict array, size_t n) |
| Zero an array of zom_t. | |
Variables | |
| static bitcount_t | bitcounts [1U<< BITCOUNT_BITS] |
| A lookup table where precomputed bit counts are stored. | |
| static unsigned bitcount | ( | word_t | w | ) | [inline, static] |
Compute the number of ones in the binary representation of w.
Definition at line 387 of file types.c.
References BITCOUNT_BITS, bitcounts, and WORD_BITS.
Referenced by calculate_bounds_hapax(), and calculate_bounds_normal().
| static void init_bitcount | ( | void | ) | [static] |
Initialise the array bitcount.
Definition at line 378 of file types.c.
References BITCOUNT_BITS, bitcounts, and naive_bitcount().
Referenced by main().
| static unsigned naive_bitcount | ( | unsigned | w | ) | [inline, static] |
Compute the number of ones in the binary representation of w.
A naive algorithm which does not use the array bitcounts.
Definition at line 363 of file types.c.
Referenced by init_bitcount().
| static void word_clear | ( | word_t *restrict | array, | |
| size_t | n | |||
| ) | [inline, static] |
Calculate x + y in zom_t.
Definition at line 432 of file types.c.
References zom_t::at_least_1, and zom_t::at_least_2.
Referenced by calculate_bounds_hapax().
| static void zom_clear | ( | zom_t *restrict | array, | |
| size_t | n | |||
| ) | [inline, static] |
Return a bit vector where a bit is set if the value is exactly 1.
Definition at line 441 of file types.c.
References zom_t::at_least_1, and zom_t::at_least_2.
Referenced by calculate_bounds_hapax().
bitcount_t bitcounts[1U<< BITCOUNT_BITS] [static] |
A lookup table where precomputed bit counts are stored.
Definition at line 374 of file types.c.
Referenced by bitcount(), and init_bitcount().