Class MurmurHash3.IncrementalHash32

  • Enclosing class:
    MurmurHash3

    @Deprecated
    public static class MurmurHash3.IncrementalHash32
    extends MurmurHash3.IncrementalHash32x86
    Deprecated.
    Use IncrementalHash32x86. This corrects the processing of trailing bytes.
    Generates 32-bit hash from input bytes. Bytes can be added incrementally and the new hash computed.

    This is an implementation of the 32-bit hash function MurmurHash3_x86_32 from from Austin Applyby's original MurmurHash3 c++ code in SMHasher.

    This implementation contains a sign-extension bug in the finalization step of any bytes left over from dividing the length by 4. This manifests if any of these bytes are negative.

    • Constructor Detail

      • IncrementalHash32

        public IncrementalHash32()
        Deprecated.
    • Method Detail

      • finalise

        @Deprecated
        int finalise​(int hash,
                     int unprocessedLength,
                     byte[] unprocessed,
                     int totalLen)
        Deprecated.
        Use IncrementalHash32x86. This corrects the processing of trailing bytes.
        Finalize the running hash to the output 32-bit hash by processing remaining bytes and performing final mixing.

        This implementation contains a sign-extension bug in the finalization step of any bytes left over from dividing the length by 4. This manifests if any of these bytes are negative.

        Overrides:
        finalise in class MurmurHash3.IncrementalHash32x86
        Parameters:
        hash - The running hash
        unprocessedLength - The number of unprocessed bytes in the tail data.
        unprocessed - Up to 3 unprocessed bytes from input data.
        totalLen - The total number of input bytes added since the start.
        Returns:
        The 32-bit hash