Class Murmur3F

  • All Implemented Interfaces:
    java.util.zip.Checksum, Checksum128

    public class Murmur3F
    extends java.lang.Object
    implements Checksum128
    Murmur3F (MurmurHash3_x64_128)
    • Field Detail

      • seed

        private final long seed
      • h1

        private long h1
      • h2

        private long h2
      • length

        private int length
      • partialPos

        private int partialPos
      • partialK1

        private long partialK1
      • partialK2

        private long partialK2
      • finished

        private boolean finished
      • finishedH1

        private long finishedH1
      • finishedH2

        private long finishedH2
    • Constructor Detail

      • Murmur3F

        public Murmur3F()
      • Murmur3F

        public Murmur3F​(int seed)
    • Method Detail

      • update

        public void update​(int b)
        Specified by:
        update in interface java.util.zip.Checksum
      • updateLongLE

        public void updateLongLE​(long value)
        Special update method to hash long values very efficiently using Java's native little endian (LE) byte order. Note, that you cannot mix this with other (previous) hash updates, because it only supports 8-bytes alignment.
      • updateLongBE

        public void updateLongBE​(long value)
        Consider updateLongLE(long) for better performance if you do not rely on big endian (BE) byte order.
      • update

        public void update​(byte[] b)
        Specified by:
        update in interface java.util.zip.Checksum
      • update

        public void update​(byte[] b,
                           int off,
                           int len)
        Specified by:
        update in interface java.util.zip.Checksum
      • applyKs

        private void applyKs​(long k1,
                             long k2)
      • checkFinished

        private void checkFinished()
      • fmix64

        private long fmix64​(long k)
      • getValue

        public long getValue()
        Specified by:
        getValue in interface java.util.zip.Checksum
      • getValueHigh

        public long getValueHigh()
        Returns the higher 64 bits of the 128 bit hash.
        Specified by:
        getValueHigh in interface Checksum128
      • getValueBigInteger

        public java.math.BigInteger getValueBigInteger()
        Positive value.
        Specified by:
        getValueBigInteger in interface Checksum128
      • getValueHexString

        public java.lang.String getValueHexString()
        Padded with leading 0s to ensure length of 32.
        Specified by:
        getValueHexString in interface Checksum128
      • getPaddedHexString

        private java.lang.String getPaddedHexString​(long value)
      • getValueBytesBigEndian

        public byte[] getValueBytesBigEndian()
        Description copied from interface: Checksum128
        Big endian is the default in Java / network byte order.
        Specified by:
        getValueBytesBigEndian in interface Checksum128
      • reset

        public void reset()
        Specified by:
        reset in interface java.util.zip.Checksum