bitmap_pos_to_ord — find ordinal of set bit at given position in bitmap
int bitmap_pos_to_ord ( | const unsigned long * buf, |
int pos, | |
int bits) ; |
buf
pointer to a bitmap
pos
a bit position in buf
(0 <= pos
< bits
)
bits
number of valid bit positions in buf
Map the bit at position pos
in buf
(of length bits
) to the
ordinal of which set bit it is. If it is not set or if pos
is not a valid bit position, map to -1.
If for example, just bits 4 through 7 are set in buf
, then pos
values 4 through 7 will get mapped to 0 through 3, respectively,
and other pos
values will get mapped to 0. When pos
value 7
gets mapped to (returns) ord
value 3 in this example, that means
that bit 7 is the 3rd (starting with 0th) set bit in buf
.
The bit positions 0 through bits
are valid positions in buf
.