.. index:: single: RingMurmurHash Functions Reference; Introduction ===================================== RingMurmurHash Functions Reference ===================================== " MurmurHash is a non-cryptographic hash function suitable for general hash-based lookup. It was created by Austin Appleby in 2008 and is currently hosted on Github along with its test suite named 'SMHasher'. It also exists in a number of variants,[5] all of which have been released into the public domain. The name comes from two basic operations, multiply (MU) and rotate (R), used in its inner loop. " Murmurhash extension is an extension written to implement a full implementation for the MurmurHash library. Developer: Hassan Ahmed .. index:: pair: RingMurmurHash Functions Reference; MurmurHash1 functions MurmurHash1 functions ===================== uint32_t murmurhash1(string key, int seed, [bool return_type]); uint32_t murmurhash1_aligned(string key, int seed, [bool return_type]); .. index:: pair: RingMurmurHash Functions Reference; MurmurHash2 functions MurmurHash2 functions ===================== 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]); .. index:: pair: RingMurmurHash Functions Reference; MurmurHash3 functions MurmurHash3 functions ===================== 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]); The third optional parameter is to set the type of the returned value, this parameter accepts a bool value [ true, false ], true will return a Hex value, while false will return a integer value. .. index:: pair: RingMurmurHash Functions Reference; Example Example ======= .. code-block:: ring load "murmurhashlib.ring" key = "Ring Language" see murmurhash3_x86_32(key, 0, 0) + nl // Output: 1894444853 see murmurhash3_x86_32(key, 0, 1) + nl // Output: 70eaef35