fn unpack(n: u32) -> (u16, u16) {
    let real = n & u16::max_value() as u32;
    let steal = n >> 16;

    (steal as u16, real as u16)
}
/// Split the head value into the real head and the index a stealer is working
/// on.
Split the head value into the real head and the index a stealer is working
on.
Split the head value into the real head and the index a stealer is working on .
fn unpack(n: u32) -> (u16, u16) {
    let real = n & u16::max_value() as u32;
    let steal = n >> 16;
    (steal as u16, real as u16)
}
fn unpack ( n : u32 ) -> ( u16 , u16 ) { let real = n & u16 :: max_value ( ) as u32 ; let steal = n >> 16 ; ( steal as u16 , real as u16 ) }
Split the head value into the real head and the index a stealer is working
on.
Split the head value into the real head and the index a stealer is working on .
n
u32
n
u32