fn unpack_coords(packed: u64) -> Vector3<i32> {
    let b = packed.to_le_bytes();
    // retrieve the sign from the most significant bit.
    let mut xb = ((b[2] as i8).signum() as i32).to_le_bytes();
    xb[0..3].copy_from_slice(&b[0..3]);
    let mut yb = ((b[5] as i8).signum() as i32).to_le_bytes();
    yb[0..3].copy_from_slice(&b[3..6]);
    let mut zb = ((b[7] as i8).signum() as i32).to_le_bytes();
    zb[0..2].copy_from_slice(&b[6..8]);
    Vector3::new(
        i32::from_le_bytes(xb),
        i32::from_le_bytes(yb),
        i32::from_le_bytes(zb),
    )
}
// Unpack coordinates created with `pack_coords`.
Unpack coordinates created with `pack_coords`.
Unpack coordinates created with ` pack_coords ` .
fn unpack_coords(packed: u64) -> Vector3<i32> {
    let b = packed.to_le_bytes();
    // retrieve the sign from the most significant bit.
    let mut xb = ((b[2] as i8).signum() as i32).to_le_bytes();
    xb[0..3].copy_from_slice(&b[0..3]);
    let mut yb = ((b[5] as i8).signum() as i32).to_le_bytes();
    yb[0..3].copy_from_slice(&b[3..6]);
    let mut zb = ((b[7] as i8).signum() as i32).to_le_bytes();
    zb[0..2].copy_from_slice(&b[6..8]);
    Vector3::new(
        i32::from_le_bytes(xb),
        i32::from_le_bytes(yb),
        i32::from_le_bytes(zb),
    )
}
fn unpack_coords ( packed : u64 ) -> Vector3 < i32 > { let b = packed . to_le_bytes ( ) ; // retrieve the sign from the most significant bit. let mut xb = ( ( b [ 2 ] as i8 ) . signum ( ) as i32 ) . to_le_bytes ( ) ; xb [ 0 .. 3 ] . copy_from_slice ( & b [ 0 .. 3 ] ) ; let mut yb = ( ( b [ 5 ] as i8 ) . signum ( ) as i32 ) . to_le_bytes ( ) ; yb [ 0 .. 3 ] . copy_from_slice ( & b [ 3 .. 6 ] ) ; let mut zb = ( ( b [ 7 ] as i8 ) . signum ( ) as i32 ) . to_le_bytes ( ) ; zb [ 0 .. 2 ] . copy_from_slice ( & b [ 6 .. 8 ] ) ; Vector3 :: new ( i32 :: from_le_bytes ( xb ) , i32 :: from_le_bytes ( yb ) , i32 :: from_le_bytes ( zb ) , ) }
Unpack coordinates created with `pack_coords`.
Unpack coordinates created with ` pack_coords ` .
packed
u64
packed
u64