wyrand 0.4.1

A fast & portable non-cryptographic pseudorandom number generator and hashing algorithm
Documentation
#[inline(always)]
pub(crate) const fn read_8_bytes(bits: &[u8]) -> u64 {
    ((bits[7] as u64) << 56)
        | ((bits[6] as u64) << 48)
        | ((bits[5] as u64) << 40)
        | ((bits[4] as u64) << 32)
        | ((bits[3] as u64) << 24)
        | ((bits[2] as u64) << 16)
        | ((bits[1] as u64) << 8)
        | (bits[0] as u64)
}

#[inline(always)]
pub(crate) const fn read_4_bytes(bits: &[u8]) -> u64 {
    ((bits[3] as u64) << 24) | ((bits[2] as u64) << 16) | ((bits[1] as u64) << 8) | (bits[0] as u64)
}

#[inline(always)]
pub(crate) const fn read_upto_3_bytes(bits: &[u8]) -> u64 {
    ((bits[0] as u64) << 16) | ((bits[bits.len() >> 1] as u64) << 8) | (bits[bits.len() - 1] as u64)
}