30 lines
526 B
C
30 lines
526 B
C
|
#include <librr/bitfield.h>
|
||
|
|
||
|
inline bool_t rr_is_bit_set(u64_t buffer, usz_t index)
|
||
|
{
|
||
|
return !!(buffer & (1 << index));
|
||
|
}
|
||
|
|
||
|
inline u64_t rr_set_bit(u64_t buffer, usz_t index)
|
||
|
{
|
||
|
return buffer | (1 << index);
|
||
|
}
|
||
|
|
||
|
u64_t rr_bitpad_lsb(usz_t count)
|
||
|
{
|
||
|
u64_t result = 0;
|
||
|
for(usz_t index = 0; index < count; ++index)
|
||
|
{
|
||
|
result |= 1 << index;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
u64_t rr_bitpad_msb(usz_t count)
|
||
|
{
|
||
|
u64_t result = 0;
|
||
|
for(usz_t index = 0; index < count; ++index)
|
||
|
{
|
||
|
result |= (1 << 63) >> index;
|
||
|
}
|
||
|
}
|