1
0
Fork 0
Univerxel/include/Remotery/typescript/Hash.ts

22 lines
494 B
TypeScript

namespace Hash
{
export function Wang_U32(key: number) : number
{
key += ~(key << 15);
key ^= (key >> 10);
key += (key << 3);
key ^= (key >> 6);
key += ~(key << 11);
key ^= (key >> 16);
return key;
}
export function Combine_U32(hash_a: number, hash_b: number) : number
{
let random_bits = 0x9E3779B9;
hash_a ^= hash_b + random_bits + (hash_a << 6) + (hash_a >> 2);
return hash_a;
}
}