hash32
32-bit
目的
- bare overload
hash32で primitive /strの 32-bit非暗号 ハッシュを得 られるようにします。 HashMap/HashSetが受 け取 る hash function value の default候補 として再利用 できるようにします。
実装
- primitive key と UTF-8 byte
列 に対 して avalanche混合 を行 います。
注意
暗号用途 には使 えません。
計算量
i32/bool/u8/i64は O(1)、strは文字列長 を n として O(n) です。
mix
32-bit
目的
- hash の
下位 bit まで偏 りを散 し、bucket選択 での偏在 を減 らします。
hash32
bool を 32-bit ハッシュへ
hash32
i32 を 32-bit ハッシュへ
hash32
u8 を 32-bit ハッシュへ
hash32
i64 を 32-bit ハッシュへ
hash32
str を 32-bit ハッシュへ