pub(crate) fn u16(b: &[u8], off: usize) -> u16 {
u16::from_le_bytes(b[off..off + 2].try_into().unwrap())
}
pub(crate) fn u32(b: &[u8], off: usize) -> u32 {
u32::from_le_bytes(b[off..off + 4].try_into().unwrap())
}
pub(crate) fn u64(b: &[u8], off: usize) -> u64 {
u64::from_le_bytes(b[off..off + 8].try_into().unwrap())
}
pub(crate) fn put_u16(b: &mut [u8], off: usize, v: u16) {
b[off..off + 2].copy_from_slice(&v.to_le_bytes());
}
pub(crate) fn put_u32(b: &mut [u8], off: usize, v: u32) {
b[off..off + 4].copy_from_slice(&v.to_le_bytes());
}
pub(crate) fn put_u64(b: &mut [u8], off: usize, v: u64) {
b[off..off + 8].copy_from_slice(&v.to_le_bytes());
}
pub(crate) mod be {
pub(crate) fn u32(b: &[u8], off: usize) -> u32 {
u32::from_be_bytes(b[off..off + 4].try_into().unwrap())
}
pub(crate) fn put_u32(b: &mut [u8], off: usize, v: u32) {
b[off..off + 4].copy_from_slice(&v.to_be_bytes());
}
}