RingMurmurHash 関数リファレンス¶
“MurmurHash は、一般的なハッシュベースの探索に適した平文ハッシュ関数です。 2008 年に Austin Appleby (オースティン・アップルビー) により開発されました。テストスイートの ‘SMHasher’ と併せて GitHub にて公開されています。 MurmurHash には様々な亜種 (すべてパブリック・ドメイン) が存在または公開されています。 名前の由来はループ内部で使用されている二種類の基本操作である乗算 (MUltiply) と 回転 (Rotate) からきています。”
拡張機能 Murmurhash は MurmurHash ライブラリの完全な実装を行うために記述された拡張機能です。
開発者: ハッサン・アーメド
MurmurHash1 関数¶
uint32_t murmurhash1(string key, int seed, [bool return_type]);
uint32_t murmurhash1_aligned(string key, int seed, [bool return_type]);
MurmurHash2 関数¶
uint32_t murmurhash2(string key, int seed, [bool return_type]);
uint32_t murmurhash2a(string key, int seed, [bool return_type]);
uint64_t murmurhash64a(string key, int seed, [bool return_type]);
uint64_t murmurhash64b(string key, int seed, [bool return_type]);
uint32_t murmurhash_neutral2(string key, int seed, [bool return_type]);
uint32_t murmurhash_aligned2(string key, int seed, [bool return_type]);
MurmurHash3 関数¶
uint32_t murmurhash3_x86_32(string key, int seed, [bool return_type]);
list murmurhash3_x86_128(string key, int seed, [bool return_type]);
list murmurhash3_x64_128(string key, int seed, [bool return_type]);
第三仮引数はオプション扱いであり、返値の型を設定するためのものです。この仮引数はブール値 [ true, false ] を受け取ります。 true ならば16進数値を返し、 false ならば整数値を返します。
用例¶
load "murmurhashlib.ring"
key = "Ring Language"
see murmurhash3_x86_32(key, 0, 0) + nl // 実行結果: 1894444853
see murmurhash3_x86_32(key, 0, 1) + nl // 実行結果: 70eaef35