bitmap_pos_to_ord — find ordinal of set bit at given position in bitmap
int bitmap_pos_to_ord ( | const unsigned long * buf, |
unsigned int pos, | |
unsigned int nbits) ; |
buf
pointer to a bitmap
pos
a bit position in buf
(0 <= pos
< nbits
)
nbits
number of valid bit positions in buf
Map the bit at position pos
in buf
(of length nbits
) 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 -1. 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
.