bytebuilder 0.3.0

A simple binary serializer/deserializer
Documentation
pub fn concat_u16(low: u16, high: u16) -> u32 {
    (low as u32) | ((high as u32) << 16)
}
pub fn concat_u32(low: u32, high: u32) -> u64 {
    (low as u64) | ((high as u64) << 32)
}
pub fn concat_u128(low: u64, high: u64) -> u128 {
    (low as u128) | ((high as u128) << 64)
}

pub fn concat_i16(low: i16, high: i16) -> i32 {
    (low as i32) | ((high as i32) << 16)
}
pub fn concat_i32(low: i32, high: i32) -> i64 {
    (low as i64) | ((high as i64) << 32)
}
pub fn concat_i64(low: i64, high: i64) -> i128 {
    (low as i128) | ((high as i128) << 64)
}

pub fn split_u32(value: u32) -> (u16, u16) {
    ((value & u32::MAX) as u16, (value >> 16) as u16)
}
pub fn split_u64(value: u64) -> (u32, u32) {
    ((value & u64::MAX) as u32, (value >> 32) as u32)
}
pub fn split_u128(value: u128) -> (u64, u64) {
    ((value & u128::MAX) as u64, (value >> 64) as u64)
}

pub fn split_i32(value: i32) -> (i16, i16) {
    ((value & i32::MAX) as i16, (value >> 16) as i16)
}
pub fn split_i64(value: i64) -> (i32, i32) {
    ((value & i64::MAX) as i32, (value >> 32) as i32)
}
pub fn split_i128(value: i128) -> (i64, i64) {
    ((value & i128::MAX) as i64, (value >> 64) as i64)
}