Class MurmurHash3


  • public final class MurmurHash3
    extends Object
    The MurmurHash3 algorithm was created by Austin Appleby and placed in the public domain. This java port was authored by Yonik Seeley and also placed into the public domain. The author hereby disclaims copyright to this source code.

    This produces exactly the same hash values as the final C++ version of MurmurHash3 and is thus suitable for producing the same hash values across platforms.

    The 32 bit x86 version of this hash should be the fastest variant for relatively short keys like ids. murmurhash3_x64_128 is a good choice for longer strings or if you need more than 32 bits of hash.

    Note - The x86 and x64 versions do _not_ produce the same results, as the algorithms are optimized for their respective platforms.

    See http://github.com/yonik/java_util for future updates to this file.

    • Constructor Detail

      • MurmurHash3

        public MurmurHash3()
    • Method Detail

      • fmix32

        public static final int fmix32​(int h)
      • fmix64

        public static final long fmix64​(long k)
      • getLongLittleEndian

        public static final long getLongLittleEndian​(byte[] buf,
                                                     int offset)
      • murmurhash3_x86_32

        public static int murmurhash3_x86_32​(byte[] data,
                                             int offset,
                                             int len,
                                             int seed)
      • murmurhash3_x86_32

        public static int murmurhash3_x86_32​(CharSequence data,
                                             int offset,
                                             int len,
                                             int seed)
      • murmurhash3_x64_128

        public static void murmurhash3_x64_128​(byte[] key,
                                               int offset,
                                               int len,
                                               int seed,
                                               MurmurHash3.LongPair out)