https://github.com/ksss/digest-murmurhash
https://rubygems.org/gems/digest-murmurhash
最近はじめてピタゴラスイッチを見て、見ているうちに脳がオーバーヒートしそうになりました。
v0.3.0
Digest::MurmurHashというgemをアップデートしました。
アルゴリズム追加
MurmurHashと一口に言ってもちょっとずつ違うアルゴリズムがいくつかあります。
Digest::MurmurHashではアルゴリズム毎にclassを作っているので、 このアルゴリズムの数をこれまでの3つから4つ増やして7つにしました。
追加したアルゴリズムは以下
- MurmurHash64A
- MurmurHash64B
- MurmurHashNeutral2
- MurmurHashAligned2
アルゴリズム自体は決まりきっているので、成し遂げた感はあまり無いですね……。
seed値機能を追加
seed値をちゃんと設定できるようにしました。 これにより従来のversionからの返り値が変わっているので互換性が失われています。。。
また、デフォルトのseed値はどうするのがベストか迷い、現状全部0にしてあります。
できるだけseed値は自分で設定して欲しいし、ランダムだとなんか気持ち悪いのでこうなっています。
RubyでもMurmurHashを使いたい方は是非Digest::MurmurHashをどうぞ!