Enum Class MurmurHash3

<MurmurHash3>
org.elasticsearch.common.hash.MurmurHash3
All Implemented Interfaces:
, <

public enum MurmurHash3 extends <MurmurHash3>
MurmurHash3 hashing functions.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    A 128-bits hash.

    Nested classes/interfaces inherited from class java.lang.

    < extends <>>
  • Method Summary

    Modifier and Type
    Method
    Description
    protected static long
    fmix​(long k)
     
    protected static long
    getblock​(byte[] key, int offset, int index)
     
    hash128​(byte[] key, int offset, int length, long seed, MurmurHash3.Hash128 hash)
    Compute the hash of the MurmurHash3_x64_128 hashing function.
    static long
    murmur64​(long h)
    A 64-bit variant which accepts a long to hash, and returns the 64bit long hash.
     name)
    Returns the enum constant of this class with the specified name.
    static MurmurHash3[]
    Returns an array containing the constants of this enum class, in the order they are declared.

    Methods inherited from class java.lang.

    , , , , , , , , , ,

    Methods inherited from class java.lang.

    , , , , ,
  • Method Details

    • values

      public static MurmurHash3[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static  name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      - if this enum class has no constant with the specified name
      - if the argument is null
    • getblock

      protected static long getblock(byte[] key, int offset, int index)
    • fmix

      protected static long fmix(long k)
    • hash128

      public static MurmurHash3.Hash128 hash128(byte[] key, int offset, int length, long seed, MurmurHash3.Hash128 hash)
      Compute the hash of the MurmurHash3_x64_128 hashing function. Note, this hashing function might be used to persist hashes, so if the way hashes are computed changes for some reason, it needs to be addressed (like in BloomFilter and MurmurHashField).
    • murmur64

      public static long murmur64(long h)
      A 64-bit variant which accepts a long to hash, and returns the 64bit long hash. This is useful if the input is already in long (or smaller) format and you don't need the full 128b width and flexibility of hash128(byte[], int, int, long, Hash128) Given the limited nature of this variant, it should be faster than the 128b version when you only need 128b (many fewer instructions)