Lines Matching refs:num_after
174 sparsebit_num_t num_after; /* num contiguously set after mask */ member
200 return nodep->num_after + __builtin_popcount(nodep->mask); in node_num_set()
290 root->num_after = subtree->num_after; in node_copy_subtree()
319 idx <= nodep->idx + MASK_BITS + nodep->num_after - 1) in node_find()
367 assert(idx > parentp->idx + MASK_BITS + parentp->num_after - 1); in node_add()
383 while (prev && prev->idx + MASK_BITS + prev->num_after - 1 >= nodep->idx) { in node_add()
384 unsigned int n1 = (prev->idx + MASK_BITS + prev->num_after - 1) in node_add()
386 assert(prev->num_after > 0); in node_add()
390 prev->num_after--; in node_add()
532 orig_num_after = nodep1->num_after; in node_split()
538 nodep1->num_after = offset; in node_split()
542 nodep2->num_after = orig_num_after - offset; in node_split()
543 if (nodep2->num_after >= MASK_BITS) { in node_split()
545 nodep2->num_after -= MASK_BITS; in node_split()
547 nodep2->mask = (1 << nodep2->num_after) - 1; in node_split()
548 nodep2->num_after = 0; in node_split()
611 if (nodep->mask == 0 && nodep->num_after == 0) { in node_reduce()
650 assert(nodep->num_after != 0); in node_reduce()
655 if (nodep->num_after >= MASK_BITS) { in node_reduce()
657 nodep->num_after -= MASK_BITS; in node_reduce()
659 nodep->mask = (1u << nodep->num_after) - 1; in node_reduce()
660 nodep->num_after = 0; in node_reduce()
676 if (prev->mask == 0 && prev->num_after == 0) { in node_reduce()
689 prev->num_after += MASK_BITS + nodep->num_after; in node_reduce()
691 nodep->num_after = 0; in node_reduce()
702 prev_highest_bit = prev->idx + MASK_BITS - 1 + prev->num_after; in node_reduce()
717 prev->num_after += num_contiguous; in node_reduce()
734 prev->num_after += nodep->num_after; in node_reduce()
735 nodep->num_after = 0; in node_reduce()
750 if (next->mask == 0 && next->num_after == 0) { in node_reduce()
760 if (next->idx == nodep->idx + MASK_BITS + nodep->num_after && in node_reduce()
762 nodep->num_after += MASK_BITS; in node_reduce()
764 nodep->num_after += next->num_after; in node_reduce()
765 next->num_after = 0; in node_reduce()
788 idx <= nodep->idx + MASK_BITS + nodep->num_after - 1) in sparsebit_is_set()
795 if (nodep->num_after && idx >= nodep->idx + MASK_BITS) in sparsebit_is_set()
891 indent, "", nodep->idx, nodep->mask, nodep->num_after); in dump_nodes()
1068 (s->root->num_after == ((sparsebit_num_t) 0) - MASK_BITS && in sparsebit_any_set()
1130 assert(nodep1->idx + MASK_BITS + nodep1->num_after != (sparsebit_idx_t) 0); in sparsebit_first_clear()
1131 return nodep1->idx + MASK_BITS + nodep1->num_after; in sparsebit_first_clear()
1140 if (nodep1->idx + MASK_BITS + nodep1->num_after != nodep2->idx) in sparsebit_first_clear()
1141 return nodep1->idx + MASK_BITS + nodep1->num_after; in sparsebit_first_clear()
1182 if ((nodep->idx + MASK_BITS + nodep->num_after - 1) in sparsebit_next_set()
1224 if (candidate->num_after) { in sparsebit_next_set()
1280 return nodep1->idx + MASK_BITS + nodep1->num_after; in sparsebit_next_clear()
1288 if (nodep1->idx + MASK_BITS + nodep1->num_after != nodep2->idx) in sparsebit_next_clear()
1289 return nodep1->idx + MASK_BITS + nodep1->num_after; in sparsebit_next_clear()
1425 assert(next->idx + MASK_BITS + next->num_after - 1 <= middle_end); in sparsebit_set_num()
1438 s->num_set -= nodep->num_after; in sparsebit_set_num()
1439 nodep->num_after = middle_end - middle_start + 1 - MASK_BITS; in sparsebit_set_num()
1440 s->num_set += nodep->num_after; in sparsebit_set_num()
1488 assert(next->idx + MASK_BITS + next->num_after - 1 <= middle_end); in sparsebit_clear_num()
1502 s->num_set -= nodep->num_after; in sparsebit_clear_num()
1503 nodep->num_after = 0; in sparsebit_clear_num()
1618 if ((n1 == MASK_BITS) && nodep->num_after) in sparsebit_dump()
1619 high += nodep->num_after; in sparsebit_dump()
1651 if (!(nodep->mask & (1 << (MASK_BITS - 1))) && nodep->num_after) { in sparsebit_dump()
1653 high = nodep->idx + MASK_BITS + nodep->num_after - 1; in sparsebit_dump()
1705 total_bits_set += nodep->num_after; in sparsebit_validate_internal()
1733 if (nodep->num_after in sparsebit_validate_internal()
1737 nodep, nodep->num_after); in sparsebit_validate_internal()
1757 if ((nodep->idx + MASK_BITS + nodep->num_after - 1) < nodep->idx) { in sparsebit_validate_internal()
1762 nodep, nodep->idx, MASK_BITS, nodep->num_after); in sparsebit_validate_internal()
1823 if ((prev->idx + MASK_BITS + prev->num_after - 1) in sparsebit_validate_internal()
1832 prev, prev->idx, prev->num_after, in sparsebit_validate_internal()
1833 nodep, nodep->idx, nodep->num_after, in sparsebit_validate_internal()
1845 prev->idx + MASK_BITS + prev->num_after == nodep->idx) { in sparsebit_validate_internal()
1854 prev, prev->idx, prev->num_after, in sparsebit_validate_internal()
1855 nodep, nodep->idx, nodep->num_after, in sparsebit_validate_internal()