1
私のペットプロジェクトの1つとして、任意の数の異なる整数ハッシュを作成したいと考えています。少しの研究の後、私は普遍的なハッシュが行く方法だと思った。しかし、私は(numpy)の実装に苦しんでいます。私はハッシュファミリh(a,b)(x) = ((a * x + b) mod p) mod m
を使用しようとしており、私のxはuint32の範囲内であればどこでもかまいません。 p >= max(x)
とa, b < p
を選択すると、最悪の場合、a * x + b
はuint32だけでなくuint64もオーバーフローします。私はこの問題を解決する実装を見つけようとしましたが、モジュロ演算をスピードアップする巧妙な方法しか見つからず、オーバーフローについては何も見つかりませんでした。ユニバーサルハッシュの実装で整数オーバーフローが発生する
これを実装する方法についてのご意見をいただければ幸いです。ありがとう:-)
よく、それは簡単でした。ありがとう! :-) – vrtsig