#[inline]
#[allow(dead_code)]
pub fn is_bit_set(byte: &u8, bit: u8) -> bool {
byte & (1 << bit) != 0
}
#[inline]
pub fn is_bit_unset(byte: &u8, bit: u8) -> bool {
byte & (1 << bit) == 0
}
#[inline]
#[allow(dead_code)]
pub fn set_bit(byte: &mut u8, bit: u8) {
*byte |= 1 << bit;
}
#[inline]
pub fn unset_bit(byte: &mut u8, bit: u8) {
*byte &= !(1 << bit);
}
#[inline]
pub fn count_set_bits(byte: &u8) -> u8 {
byte.count_ones() as u8
}
#[inline]
#[allow(dead_code)]
pub fn count_unset_bits(byte: &u8) -> u8 {
byte.count_zeros() as u8
}
#[inline]
pub fn unset_last_bits(byte: &mut u8, bit: u8) {
*byte &= 0xff >> bit;
}