9 assert(n < __builtin_popcountll(word) &&
"n is out of bounds");
14 uint32_t lower_ones = __builtin_popcount(
static_cast<uint32_t
>(word));
23 uint32_t lower_ones = __builtin_popcount(
static_cast<uint32_t
>(word)&0xFFFF);
32 uint32_t lower_ones = __builtin_popcount(
static_cast<uint32_t
>(word)&0xFF);
46 uint32_t x = __builtin_ffsll(word);
75uint64_t
bit_select(uint64_t uint512_count,
const uint64_t*uint512_rank,
const uint64_t*data, uint64_t n){
76 assert(uint512_count != 0);
78 uint64_t uint512_skipped = 0;
80 while(! (n < uint512_rank[1])){
82 while(step < uint512_count && uint512_rank[step] <= n)
88 uint512_count -= step;
90 uint512_skipped += step;
93 assert(uint512_rank[0] <= n);