Python と Scala の両方で文字列を MurmurHash する必要があります。しかし、それらは非常に異なる結果をもたらしています。Scala の組み込みMurmurHash3
ライブラリは、私がオンラインのものを含めて試した他のライブラリと同じ結果をもたらさないようです。奇妙なことに、複数の文字ではなく、1 つの文字で一致するように見えます。ここではいくつかの例を示します。
パイソン:
mmh3.hash('string', 0)
res: -1390314837
スカラ:
MurmurHash3.stringHash("string", 0)
res: 379569354
Javaが署名していて、PythonのC実装がunsignedを使用していることを知っているので、signedおよびunsigned intで遊んでみました。しかし、NumPy を使用して signed int に変換しても、何の助けにもなりません。この Web サイトは、Python の実装に同意しているようです。
http://murmurhash.shorelabs.com/
ここで何が起こっているのかについてのアイデアはありますか?