pub fn int32_hash_inverse(hash : u32)  -> u32 {
    let mut val = hash;
    //
    val = val ^ (val >> 16);
    val = (!val).wrapping_mul(4290770943);
    val = val ^ (val >> 6) ^ (val >> 12) ^ (val >> 18) ^ (val >> 24) ^ (val >> 30);
    val = val.wrapping_mul(954437177);
    val = val ^ (val >> 10) ^ (val >> 20) ^ (val >> 30);
    val = (!val).wrapping_mul(3221192703);
    return val;
}
/// retrieves a u32 key from a u32 hash value
retrieves a u32 key from a u32 hash value
retrieves a u32 key from a u32 hash value
pub fn int32_hash_inverse(hash : u32)  -> u32 {
    let mut val = hash;
    //
    val = val ^ (val >> 16);
    val = (!val).wrapping_mul(4290770943);
    val = val ^ (val >> 6) ^ (val >> 12) ^ (val >> 18) ^ (val >> 24) ^ (val >> 30);
    val = val.wrapping_mul(954437177);
    val = val ^ (val >> 10) ^ (val >> 20) ^ (val >> 30);
    val = (!val).wrapping_mul(3221192703);
    return val;
}
pub fn int32_hash_inverse ( hash : u32 ) -> u32 { let mut val = hash ; // val = val ^ ( val >> 16 ) ; val = ( ! val ) . wrapping_mul ( 4290770943 ) ; val = val ^ ( val >> 6 ) ^ ( val >> 12 ) ^ ( val >> 18 ) ^ ( val >> 24 ) ^ ( val >> 30 ) ; val = val . wrapping_mul ( 954437177 ) ; val = val ^ ( val >> 10 ) ^ ( val >> 20 ) ^ ( val >> 30 ) ; val = ( ! val ) . wrapping_mul ( 3221192703 ) ; return val ; }
retrieves a u32 key from a u32 hash value
retrieves a u32 key from a u32 hash value
hash
u32