1 unstable release
0.1.0 | Sep 28, 2021 |
---|
#2015 in Algorithms
8KB
119 lines
intpack
intpack is a collection of functions for packing/unpacking unsigned integers into other unsigned integers of different sizes. For example, packing 4 u8's into a u32.
!! The functions haven't been fully tested (but they should work) !!
Usage
Packing 4 u8's into a u32 using the u8_to_u32 function:
use intpack::pack;
let result = pack::u8_to_u32(&[0xff, 0x00, 0xff, 0x00]);
// Returns 0xff00ff00
And unpacking that u32:
use intpack::unpack;
let result = unpack::u32_to_u8(0xff00ff00);
// Returns [0xff, 0x00, 0xff, 0x00]
It's important to note, when packing, the least significant byte in the input slice (at index 0) becomes the most significant byte in the output value.
When unpacking, the most significant byte in the input value becomes the least significant byte in the output array (at index 0).
lib.rs
:
intpack is a collection of functions for packing/unpacking unsigned integers into other unsigned integers of different sizes. For example, packing 4 u8's into a u32.