org.idevlab.rjc.util
Class MurmurHash

java.lang.Object
  extended by org.idevlab.rjc.util.MurmurHash

public class MurmurHash
extends Object

This is a very fast, non-cryptographic hash suitable for general hash-based lookup. See http://murmurhash.googlepages.com/ for more details.

The C version of MurmurHash 2.0 found at that site was ported to Java by Andrzej Bialecki (ab at getopt org).


Constructor Summary
MurmurHash()
           
 
Method Summary
 long hash(byte[] key)
           
static int hash(byte[] data, int seed)
          Hashes bytes in an array.
static int hash(byte[] data, int offset, int length, int seed)
          Hashes bytes in part of an array.
static int hash(ByteBuffer buf, int seed)
          Hashes the bytes in a buffer from the current position to the limit.
 long hash(String key)
           
static long hash64A(byte[] data, int seed)
           
static long hash64A(byte[] data, int offset, int length, int seed)
           
static long hash64A(ByteBuffer buf, int seed)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MurmurHash

public MurmurHash()
Method Detail

hash

public static int hash(byte[] data,
                       int seed)
Hashes bytes in an array.

Parameters:
data - The bytes to hash.
seed - The seed for the hash.
Returns:
The 32 bit hash of the bytes in question.

hash

public static int hash(byte[] data,
                       int offset,
                       int length,
                       int seed)
Hashes bytes in part of an array.

Parameters:
data - The data to hash.
offset - Where to start munging.
length - How many bytes to process.
seed - The seed to start with.
Returns:
The 32-bit hash of the data in question.

hash

public static int hash(ByteBuffer buf,
                       int seed)
Hashes the bytes in a buffer from the current position to the limit.

Parameters:
buf - The bytes to hash.
seed - The seed for the hash.
Returns:
The 32 bit murmur hash of the bytes in the buffer.

hash64A

public static long hash64A(byte[] data,
                           int seed)

hash64A

public static long hash64A(byte[] data,
                           int offset,
                           int length,
                           int seed)

hash64A

public static long hash64A(ByteBuffer buf,
                           int seed)

hash

public long hash(byte[] key)

hash

public long hash(String key)


Copyright © 2011. All Rights Reserved.