Lines Matching defs:word
198 (assert (!"BITSET_TEST_RANGE: bit range crosses word boundary"), 0))
202 (assert (!"BITSET_SET_RANGE_INSIDE_WORD: bit range crosses word boundary"), 0))
206 (assert (!"BITSET_CLEAR_RANGE: bit range crosses word boundary"), 0))
296 unsigned bit, word;
301 * word, we ignore the i-value and just grab that bit (so 0 is ok, even
302 * though 0 may be returned). If the first word is 0, then the value of
303 * `word` will be 0 and we will go on to look at the second word.
305 word = BITSET_BITWORD(i);
307 word++;
309 if (word >= BITSET_WORDS(size))
312 *tmp = set[word];
315 /* Find the next set bit in the non-zero word */
321 return word * BITSET_WORDBITS + bit;
344 unsigned word = BITSET_BITWORD(*end);
345 if (word >= BITSET_WORDS(size)) {
349 BITSET_WORD tmp = set[word] & ~(BITSET_BIT(*end) - 1);
351 word++;
352 if (word >= BITSET_WORDS(size)) {
356 tmp = set[word];
359 *start = word * BITSET_WORDBITS + ffs(tmp) - 1;
365 word = BITSET_BITWORD(*start + 1);
366 if (word >= BITSET_WORDS(size)) {
370 tmp = set[word] | (BITSET_BIT(*start + 1) - 1);
372 word++;
373 if (word >= BITSET_WORDS(size)) {
377 tmp = set[word];
381 * word. This is only necessary for "end" because we terminate the loop if
384 *end = MIN2(word * BITSET_WORDBITS + ffs(~tmp) - 1, size);