Compute a high-quality hash of an array
Incorporates a new value into an existing hash.
Incorporates a new value into an existing hash.
the prior hash value
the new value to incorporate
a magic integer from the stream
a magic integer from a different stream
the updated hash value
Once all hashes have been incorporated, this performs a final mixing
Given a magic integer from the first stream, compute the next
Given a magic integer from the second stream, compute the next
Begin a new hash with a seed value.
The initial magic integers in the first stream.
The initial magic integer in the second stream.
The first 23 magic integers from the first stream are stored here
The first 23 magic integers from the second stream are stored here
Compute a high-quality hash of a string
Compute a hash that is symmetric in its arguments--that is, where the order of appearance of elements does not matter.
Compute a hash that is symmetric in its arguments--that is, where the order of appearance of elements does not matter. This is useful for hashing sets, for example.
An object designed to generate well-distributed non-cryptographic hashes. It is designed to hash a collection of integers; along with the integers to hash, it generates two magic streams of integers to increase the distribution of repetitive input sequences. Thus, three methods need to be called at each step (to start and to incorporate a new integer) to update the values. Only one method needs to be called to finalize the hash.