#[inline]
pub fn stafford13(mut x: u64, mask: u64) -> u64 {
x = ((x ^ (x >> 30)).wrapping_mul(0xbf58476d1ce4e5b9u64)) & mask;
x = ((x ^ (x >> 27)).wrapping_mul(0x94d049bb133111ebu64)) & mask;
x ^ (x >> 31)
}
#[inline]
pub fn moremur(mut x: u64, mask: u64) -> u64 { x = ((x ^ (x >> 27)).wrapping_mul(0x3C79AC492BA7B653u64)) & mask;
x = ((x ^ (x >> 33)).wrapping_mul(0x1C69B3F74AC4AE35u64)) & mask;
x ^ (x >> 27)
}
#[inline]
pub fn mx3(mut x: u64, mask: u64) -> u64 {
x = ((x ^ (x >> 32)).wrapping_mul(0xbea225f9eb34556d)) & mask;
x = ((x ^ (x >> 29)).wrapping_mul(0xbea225f9eb34556d)) & mask;
x = ((x ^ (x >> 32)).wrapping_mul(0xbea225f9eb34556d)) & mask;
x ^ (x >> 29)
}
#[inline]
pub fn xmxmx(mut x: u64, mask: u64) -> u64 {
x = ((x ^ (x >> 27)).wrapping_mul(0xe9846af9b1a615d)) & mask;
x = ((x ^ (x >> 25)).wrapping_mul(0xe9846af9b1a615d)) & mask;
x ^ (x >> 27)
}
#[inline]
pub fn degski(mut x: u64, mask: u64) -> u64 {
x = ((x ^ (x >> 32)).wrapping_mul(0xD6E8FEB86659FD93)) & mask;
x = ((x ^ (x >> 32)).wrapping_mul(0xD6E8FEB86659FD93)) & mask;
x ^ (x >> 32)
}
#[inline]
pub fn without_mixing(x: u64, _mask: u64) -> u64 { x }