Lines Matching defs:bi
41 bmp_iter_set_init (bitmap_iterator *bi, const_bitmap map,
44 bi->elt1 = map->first;
45 bi->elt2 = ((void *)0);
49 if (!bi->elt1)
51 bi->elt1 = &bitmap_zero_bits;
55 if (bi->elt1->indx >= start_bit / (128u))
57 bi->elt1 = bi->elt1->next;
60 if (bi->elt1->indx != start_bit / (128u))
61 start_bit = bi->elt1->indx * (128u);
63 bi->word_no = start_bit / 64u % (2);
64 bi->bits = bi->elt1->bits[bi->word_no];
65 bi->bits >>= start_bit % 64u;
67 start_bit += !bi->bits;
73 bmp_iter_next (bitmap_iterator *bi, unsigned *bit_no)
75 bi->bits >>= 1;
80 bmp_iter_set (bitmap_iterator *bi, unsigned *bit_no)
82 if (bi->bits)
84 while (!(bi->bits & 1))
86 bi->bits >>= 1;
93 bi->word_no++;
97 while (bi->word_no != (2))
99 bi->bits = bi->elt1->bits[bi->word_no];
100 if (bi->bits)
102 while (!(bi->bits & 1))
104 bi->bits >>= 1;
110 bi->word_no++;
113 bi->elt1 = bi->elt1->next;
114 if (!bi->elt1)
116 *bit_no = bi->elt1->indx * (128u);
117 bi->word_no = 0;