BITMAP_ORD_TO_POS(9)

NAME
bitmap_ord_to_pos - find position of n-th set bit in bitmap

SYNOPSIS

unsigned int bitmap_ord_to_pos(const unsigned long * buf, unsigned int ord, unsigned int nbits);

ARGUMENTS

buf
    pointer to bitmap

ord
    ordinal bit position (n-th set bit, n >= 0)

nbits
    number of valid bit positions in buf

DESCRIPTION

Map the ordinal offset of bit ord in buf to its position in buf. Value of ord should be in range 0 <= ord < weight(buf). If ord >= weight(buf), returns nbits.

If for example, just bits 4 through 7 are set in buf, then ord values 0 through 3 will get mapped to 4 through 7, respectively, and all other ord values returns nbits. When ord value 3 gets mapped to (returns) pos value 7 in this example, that means that the 3rd set bit (starting with 0th) is at position 7 in buf.

The bit positions 0 through nbits-1 are valid positions in buf.

COPYRIGHT