KEYS_PER_NODE
indexes += (KEYS_PER_NODE * t->counts[i]);
leaf_nodes = dm_div_up(t->num_targets, KEYS_PER_NODE);
num_targets = KEYS_PER_NODE;
num_targets = dm_round_up(num_targets, KEYS_PER_NODE);
for (k = 0; k < KEYS_PER_NODE; k++)
return &t->targets[(KEYS_PER_NODE * n) + k];
#define CHILDREN_PER_NODE (KEYS_PER_NODE + 1)
return t->index[l] + (n * KEYS_PER_NODE);
return get_node(t, l, n)[KEYS_PER_NODE - 1];
for (k = 0U; k < KEYS_PER_NODE; k++)
for (i = 0; i < KEYS_PER_NODE; i++) {
uint64_t keys[KEYS_PER_NODE];
void *ptrs[KEYS_PER_NODE];
for (i = 1; i < KEYS_PER_NODE; i++)
for (i = 1; i < KEYS_PER_NODE; i++)
for (i = 1; i < KEYS_PER_NODE; i++) {
for (i = 0; i < KEYS_PER_NODE; i++) {
return KEYS_PER_NODE;
for (i = start; i < KEYS_PER_NODE; i++) {
for (i = 1; i < KEYS_PER_NODE; i++)
for (i = 0; i < KEYS_PER_NODE; i++) {
const int nr_move = KEYS_PER_NODE / 2;
int nr_keep = nr_move + (KEYS_PER_NODE & 1);
if (*pos == KEYS_PER_NODE) {
for (; i < KEYS_PER_NODE; i++)
ASSERT(nr_entries <= KEYS_PER_NODE);
if (nr_entries == KEYS_PER_NODE)
if (nr_prev + nr_entries <= KEYS_PER_NODE) {
if (nr_entries + nr_next <= KEYS_PER_NODE) {
if (nr_entries >= KEYS_PER_NODE / 2)
ASSERT(pos != KEYS_PER_NODE);