Crate num_packer

Crate num_packer 

Source
Expand description

Provides traits and implementations for packing and unpacking two numbers into a single value.

§Implementations

  • Pack two bool into u8/i8, u16/i16, u32/i32, u64/i64, usize/isize
  • Pack two u8 into u16/i16, u32/i32, u64/i64, usize/isize
  • Pack two u16 into u32/i32, u64/i64, usize/isize(if target pointer width is 32 or 64)
  • Pack two u32 into u64/i64, usize/isize(if target pointer width is 64)
  • Pack two i8 into u16/i16, u32/i32, u64/i64, usize/isize
  • Pack two i16 into u32/i32, u64/i64, usize/isize(if target pointer width is 32 or 64)
  • Pack two i32 into u64/i64, usize/isize(if target pointer width is 64)
  • Pack two f32 into u64/i64, usize/isize(if target pointer width is 64)

§Example

Pack two u8 into u16.

use num_packer::U8Packer;

let packed = u16::pack_u8(200, 55);
let (first, second) = packed.unpack_u8();
assert_eq!((first, second), (200, 55));

Traits§

BoolPacker
Trait for packing and unpacking two bool values into a single value.
F32Packer
Trait for packing and unpacking two f32 values into a single value.
I8Packer
Trait for packing and unpacking two i8 values into a single value.
I16Packer
Trait for packing and unpacking two i16 values into a single value.
I32Packer
Trait for packing and unpacking two i32 values into a single value.
U8Packer
Trait for packing and unpacking two u8 values into a single value.
U16Packer
Trait for packing and unpacking two u16 values into a single value.
U32Packer
Trait for packing and unpacking two u32 values into a single value.