Class MurmurHashUtil


  • public final class MurmurHashUtil
    extends Object
    Murmur hasher. This is based on Guava's Murmur3_32HashFunction.
    • Constructor Detail

      • MurmurHashUtil

        public MurmurHashUtil()
    • Method Detail

      • hashUnsafeBytesByWords

        public static int hashUnsafeBytesByWords​(Object base,
                                                 long offset,
                                                 int lengthInBytes)
        Hash unsafe bytes, length must be aligned to 4 bytes.
        Parameters:
        base - base unsafe object
        offset - offset for unsafe object
        lengthInBytes - length in bytes
        Returns:
        hash code
      • hashUnsafeBytes

        public static int hashUnsafeBytes​(Object base,
                                          long offset,
                                          int lengthInBytes)
        Hash unsafe bytes.
        Parameters:
        base - base unsafe object
        offset - offset for unsafe object
        lengthInBytes - length in bytes
        Returns:
        hash code
      • hashBytesByWords

        public static int hashBytesByWords​(MemorySegment segment,
                                           int offset,
                                           int lengthInBytes)
        Hash bytes in MemorySegment, length must be aligned to 4 bytes.
        Parameters:
        segment - segment.
        offset - offset for MemorySegment
        lengthInBytes - length in MemorySegment
        Returns:
        hash code
      • hashBytes

        public static int hashBytes​(MemorySegment segment,
                                    int offset,
                                    int lengthInBytes)
        Hash bytes in MemorySegment.
        Parameters:
        segment - segment.
        offset - offset for MemorySegment
        lengthInBytes - length in MemorySegment
        Returns:
        hash code
      • fmix

        public static int fmix​(int h)
      • fmix

        public static long fmix​(long h)