Lines Matching refs:end
210 __bitset_test_range(const BITSET_WORD *r, unsigned start, unsigned end)
212 const unsigned size = end - start + 1;
216 return BITSET_TEST_RANGE_INSIDE_WORD(r, start, end);
221 __bitset_test_range(r, start + first_size, end);
229 __bitset_set_range(BITSET_WORD *r, unsigned start, unsigned end)
231 const unsigned size = end - start + 1;
235 BITSET_SET_RANGE_INSIDE_WORD(r, start, end);
240 __bitset_set_range(r, start + first_size, end);
248 __bitclear_clear_range(BITSET_WORD *r, unsigned start, unsigned end)
250 const unsigned size = end - start + 1;
254 BITSET_CLEAR_RANGE_INSIDE_WORD(r, start, end);
259 __bitclear_clear_range(r, start + first_size, end);
374 __bitset_next_range(unsigned *start, unsigned *end, const BITSET_WORD *set,
377 /* To find the next start, start searching from end. In the first iteration
381 unsigned word = BITSET_BITWORD(*end);
383 *start = *end = size;
386 BITSET_WORD tmp = set[word] & ~(BITSET_BIT(*end) - 1);
390 *start = *end = size;
398 /* Now do the opposite to find end. Here we can start at start + 1, because
404 *end = size;
411 *end = size;
417 /* Cap "end" at "size" in case there are extra bits past "size" set in the
418 * word. This is only necessary for "end" because we terminate the loop if
421 *end = MIN2(word * BITSET_WORDBITS + ffs(~tmp) - 1, size);