diff --git a/binary_loader/src/lib.rs b/binary_loader/src/lib.rs index ab979af..1ebe380 100644 --- a/binary_loader/src/lib.rs +++ b/binary_loader/src/lib.rs @@ -10,6 +10,15 @@ pub fn load_u8(raw: u8) -> u8 { raw } +pub fn load_u16(raw: [u16; 2]) -> u16 { + let mut value: u16 = 0; + let temp: u16 = raw[0].into(); + value = temp << 8; + let temp: u16 = raw[1].into(); + value |= temp; + value +} + pub fn load_u32(raw: [u8; 4]) -> u32 { let mut value: u32 = 0; let temp: u32 = raw[0].into(); @@ -76,4 +85,9 @@ mod tests { fn test_load_u8() { assert_eq!(0x43, load_u8(0x43)); } + + #[test] + fn test_load_u16() { + assert_eq!(0x3423, load_u16([0x34, 0x23])); + } }