bit_blend 1.1.0

Library to merge unsigned ints as bit sequences by a mask
Documentation
pub fn blend_u8(a: u8, b: u8, mask: u8) -> u8{ a ^ ((a ^ b) & mask) }

pub fn blend_u16(a: u16, b: u16, mask: u16) -> u16{ a ^ ((a ^ b) & mask) }

pub fn blend_u32(a: u32, b: u32, mask: u32) -> u32{ a ^ ((a ^ b) & mask) }

pub fn blend_u64(a: u64, b: u64, mask: u64) -> u64{ a ^ ((a ^ b) & mask) }

pub fn blend_u128(a: u128, b: u128, mask: u128) -> u128{ a ^ ((a ^ b) & mask) }

pub fn bool_to_u8_mask(a: bool) -> u8{
    match a{
        true => { u8::MAX }
        false => { 0 }
    }
}

pub fn bool_to_u16_mask(a: bool) -> u16{
    match a{
        true => { u16::MAX }
        false => { 0 }
    }
}

pub fn bool_to_u32_mask(a: bool) -> u32{
    match a{
        true => { u32::MAX }
        false => { 0 }
    }
}

pub fn bool_to_u64_mask(a: bool) -> u64{
    match a{
        true => { u64::MAX }
        false => { 0 }
    }
}

pub fn bool_to_u128_mask(a: bool) -> u128{
    match a{
        true => { u128::MAX }
        false => { 0 }
    }
}

#[inline(always)]
pub fn u8_mask_to_bool(a: u8) -> bool{ a > 0 }

#[inline(always)]
pub fn u16_mask_to_bool(a: u16) -> bool{ a > 0 }

#[inline(always)]
pub fn u32_mask_to_bool(a: u32) -> bool{ a > 0 }

#[inline(always)]
pub fn u64_mask_to_bool(a: u64) -> bool{ a > 0 }

#[inline(always)]
pub fn u128_mask_to_bool(a: u128) -> bool{ a > 0 }