murmur2 0.1.0

murmur2 hash functions - see docs.rs
Documentation
macro_rules! test {
    ([$fle:ident, $fne:ident], ($emp:expr, $mur:expr, $range:expr)) => {
        #[test]
        fn $fle() {
            let seed = 0x12345678_9747b28cu64 as _;
            #[cfg(not(target_endian = "little"))]
            let fs = [crate::$fle];
            #[cfg(target_endian = "little")]
            let fs = [crate::$fle, crate::$fne];
            for f in fs {
                assert_eq!(f(&[], seed), $emp);
                assert_eq!(f("murmur2".as_bytes(), seed), $mur);
                assert_eq!(f(&(1..255).collect::<Vec<_>>(), seed), $range);
            }
        }
    };
}

test!([murmur2, murmur2ne], (275646681, 1394823152, 2950539382));
test!(
    [murmur2a, murmur2ane],
    (3816574809, 2735559800, 2216743126)
);
test!(
    [murmur64a, murmur64ane],
    (4971528555162033992, 443646041180781888, 528696902255405805)
);
test!(
    [murmur64b, murmur64bne],
    (
        13704036419649912789,
        16557411989772816646,
        16142286494200638697
    )
);