1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#[derive(Clone, Copy, Debug)] #[repr(packed)] pub struct Cb64 { lo: u32, hi: u32, } impl Cb64 { pub fn pack(value: u64) -> Cb64 { Cb64 { lo: value as u32, hi: (value >> 32) as u32, } } pub fn unpack(&self) -> u64 { (self.lo as u64) | ((self.hi as u64) << 32) } }