Home | History | Annotate | Download | only in src

Lines Matching full:bits

11 /* Only the most significant bits of keys passed to rtree_[gs]et() are used. */
13 rtree_new(rtree_t *rtree, unsigned bits, rtree_node_alloc_t *alloc,
20 assert(bits > 0 && bits <= (sizeof(uintptr_t) << 3));
22 bits_in_leaf = (bits % RTREE_BITS_PER_LEVEL) == 0 ? RTREE_BITS_PER_LEVEL
23 : (bits % RTREE_BITS_PER_LEVEL);
24 if (bits > bits_in_leaf) {
25 height = 1 + (bits - bits_in_leaf) / RTREE_BITS_PER_LEVEL;
26 if ((height-1) * RTREE_BITS_PER_LEVEL + bits_in_leaf != bits)
30 assert((height-1) * RTREE_BITS_PER_LEVEL + bits_in_leaf == bits);
38 rtree->levels[0].bits = (height > 1) ? RTREE_BITS_PER_LEVEL :
40 rtree->levels[0].cumbits = rtree->levels[0].bits;
44 rtree->levels[i].bits = RTREE_BITS_PER_LEVEL;
51 rtree->levels[height-1].bits = bits_in_leaf;
52 rtree->levels[height-1].cumbits = bits;
71 nchildren = ZU(1) << rtree->levels[level].bits;
111 node = rtree->alloc(ZU(1) << rtree->levels[level].bits);