pub const SECTOR_SHIFT: u32 = 9;
pub trait IsMultipleOfSectorSize {
fn is_multiple_of_sector_size(&self) -> bool;
}
impl IsMultipleOfSectorSize for u16 {
fn is_multiple_of_sector_size(&self) -> bool {
(self & ((1 << SECTOR_SHIFT) - 1)) == 0
}
}
impl IsMultipleOfSectorSize for u32 {
fn is_multiple_of_sector_size(&self) -> bool {
(self & ((1 << SECTOR_SHIFT) - 1)) == 0
}
}
impl IsMultipleOfSectorSize for u64 {
fn is_multiple_of_sector_size(&self) -> bool {
(self & ((1 << SECTOR_SHIFT) - 1)) == 0
}
}
impl IsMultipleOfSectorSize for usize {
fn is_multiple_of_sector_size(&self) -> bool {
(self & ((1 << SECTOR_SHIFT) - 1)) == 0
}
}
pub fn is_multiple_of_sector_size<F: IsMultipleOfSectorSize>(value: F) -> bool {
IsMultipleOfSectorSize::is_multiple_of_sector_size(&value)
}