• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-armeabi-2011.09/lib/gcc/arm-none-eabi/4.6.1/plugin/include/

Lines Matching refs:bi

224 bmp_iter_set_init (bitmap_iterator *bi, const_bitmap map,
227 bi->elt1 = map->first;
228 bi->elt2 = NULL;
233 if (!bi->elt1)
235 bi->elt1 = &bitmap_zero_bits;
239 if (bi->elt1->indx >= start_bit / BITMAP_ELEMENT_ALL_BITS)
241 bi->elt1 = bi->elt1->next;
245 if (bi->elt1->indx != start_bit / BITMAP_ELEMENT_ALL_BITS)
246 start_bit = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS;
249 bi->word_no = start_bit / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS;
250 bi->bits = bi->elt1->bits[bi->word_no];
251 bi->bits >>= start_bit % BITMAP_WORD_BITS;
257 start_bit += !bi->bits;
266 bmp_iter_and_init (bitmap_iterator *bi, const_bitmap map1, const_bitmap map2,
269 bi->elt1 = map1->first;
270 bi->elt2 = map2->first;
276 if (!bi->elt1)
278 bi->elt2 = NULL;
282 if (bi->elt1->indx >= start_bit / BITMAP_ELEMENT_ALL_BITS)
284 bi->elt1 = bi->elt1->next;
290 if (!bi->elt2)
292 bi->elt1 = bi->elt2 = &bitmap_zero_bits;
296 if (bi->elt2->indx >= bi->elt1->indx)
298 bi->elt2 = bi->elt2->next;
302 if (bi->elt1->indx == bi->elt2->indx)
306 if (bi->elt1->indx != start_bit / BITMAP_ELEMENT_ALL_BITS)
307 start_bit = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS;
309 bi->word_no = start_bit / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS;
310 bi->bits = bi->elt1->bits[bi->word_no] & bi->elt2->bits[bi->word_no];
311 bi->bits >>= start_bit % BITMAP_WORD_BITS;
317 bi->word_no = BITMAP_ELEMENT_WORDS - 1;
318 bi->bits = 0;
325 start_bit += !bi->bits;
334 bmp_iter_and_compl_init (bitmap_iterator *bi, const_bitmap map1, const_bitmap map2,
337 bi->elt1 = map1->first;
338 bi->elt2 = map2->first;
343 if (!bi->elt1)
345 bi->elt1 = &bitmap_zero_bits;
349 if (bi->elt1->indx >= start_bit / BITMAP_ELEMENT_ALL_BITS)
351 bi->elt1 = bi->elt1->next;
355 while (bi->elt2 && bi->elt2->indx < bi->elt1->indx)
356 bi->elt2 = bi->elt2->next;
360 if (bi->elt1->indx != start_bit / BITMAP_ELEMENT_ALL_BITS)
361 start_bit = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS;
363 bi->word_no = start_bit / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS;
364 bi->bits = bi->elt1->bits[bi->word_no];
365 if (bi->elt2 && bi->elt1->indx == bi->elt2->indx)
366 bi->bits &= ~bi->elt2->bits[bi->word_no];
367 bi->bits >>= start_bit % BITMAP_WORD_BITS;
373 start_bit += !bi->bits;
382 bmp_iter_next (bitmap_iterator *bi, unsigned *bit_no)
384 bi->bits >>= 1;
391 bmp_iter_next_bit (bitmap_iterator * bi, unsigned *bit_no)
395 unsigned int n = __builtin_ctzl (bi->bits);
397 bi->bits >>= n;
401 while (!(bi->bits & 1))
403 bi->bits >>= 1;
414 bmp_iter_set (bitmap_iterator *bi, unsigned *bit_no)
417 if (bi->bits)
420 bmp_iter_next_bit (bi, bit_no);
429 bi->word_no++;
434 while (bi->word_no != BITMAP_ELEMENT_WORDS)
436 bi->bits = bi->elt1->bits[bi->word_no];
437 if (bi->bits)
440 bi->word_no++;
444 bi->elt1 = bi->elt1->next;
445 if (!bi->elt1)
447 *bit_no = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS;
448 bi->word_no = 0;
457 bmp_iter_and (bitmap_iterator *bi, unsigned *bit_no)
460 if (bi->bits)
463 bmp_iter_next_bit (bi, bit_no);
472 bi->word_no++;
477 while (bi->word_no != BITMAP_ELEMENT_WORDS)
479 bi->bits = bi->elt1->bits[bi->word_no] & bi->elt2->bits[bi->word_no];
480 if (bi->bits)
483 bi->word_no++;
493 bi->elt1 = bi->elt1->next;
494 if (!bi->elt1)
497 while (bi->elt1->indx < bi->elt2->indx);
501 while (bi->elt2->indx < bi->elt1->indx)
503 bi->elt2 = bi->elt2->next;
504 if (!bi->elt2)
508 while (bi->elt1->indx != bi->elt2->indx);
510 *bit_no = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS;
511 bi->word_no = 0;
520 bmp_iter_and_compl (bitmap_iterator *bi, unsigned *bit_no)
523 if (bi->bits)
526 bmp_iter_next_bit (bi, bit_no);
535 bi->word_no++;
540 while (bi->word_no != BITMAP_ELEMENT_WORDS)
542 bi->bits = bi->elt1->bits[bi->word_no];
543 if (bi->elt2 && bi->elt2->indx == bi->elt1->indx)
544 bi->bits &= ~bi->elt2->bits[bi->word_no];
545 if (bi->bits)
548 bi->word_no++;
552 bi->elt1 = bi->elt1->next;
553 if (!bi->elt1)
557 while (bi->elt2 && bi->elt2->indx < bi->elt1->indx)
558 bi->elt2 = bi->elt2->next;
560 *bit_no = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS;
561 bi->word_no = 0;