4 ms·
Hi, MurmurHash and SMHasher author here. With the code-golfing obfuscation unwound, Th64 is structured very similarly to MurmurHash. The source data is pre-mix
by aappleby 2y ago
Hi, MurmurHash and SMHasher author here.
With the code-golfing obfuscation unwound, Th64 is structured very similarly to MurmurHash. The source data is pre-mixed via "rol(x * r + i, 31)", the hash is mixed via "hash = rol(hash * r ^ x, 31)", the tail bytes are mixed via "hash = hash * r ^ x", and the finalization mix is three "hash = (hash ^ (hash >> 31)) * r" rounds.
I see nothing wrong with it if it passes SMHasher3, but it's also not radically different than other hashes - it's just smooshed down into four lines.