Package com.zendesk.maxwell.util
Class MurmurHash3
- java.lang.Object
-
- com.zendesk.maxwell.util.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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MurmurHash3.LongPair
-
Constructor Summary
Constructors Constructor Description MurmurHash3()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int
fmix32(int h)
static long
fmix64(long k)
static long
getLongLittleEndian(byte[] buf, int offset)
static void
murmurhash3_x64_128(byte[] key, int offset, int len, int seed, MurmurHash3.LongPair out)
static int
murmurhash3_x86_32(byte[] data, int offset, int len, int seed)
static int
murmurhash3_x86_32(CharSequence data, int offset, int len, int seed)
-
-
-
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)
-
-