mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2026-05-05 08:54:22 -04:00
fix comments about hash mixer constant
This commit is contained in:
parent
efa429e3c8
commit
4948d74e45
2 changed files with 6 additions and 10 deletions
|
|
@ -2,13 +2,11 @@
|
||||||
|
|
||||||
(** Internal hash implementation.
|
(** Internal hash implementation.
|
||||||
|
|
||||||
Combiner: [state ^= chunk; state ^= state >> 32; state *= 0xd6e8feb86659fd93]
|
Combiner: [state ^= chunk; state ^= state >> 32; state *= 0xc6a4a7935bd1e995]
|
||||||
Finalizer: fmix64 (Murmur3).
|
Finalizer: fmix64 (Murmur3).
|
||||||
|
|
||||||
Multiplicative constant 0xd6e8feb86659fd93 (rrmxmx family, Pelle Evensen, 2018):
|
Multiplicative constant 0xc6a4a7935bd1e995 (MurmurHash2, Austin Appleby):
|
||||||
https://mostlymangling.blogspot.com/2018/07/on-mixing-functions-in-fast-hashing.html
|
https://github.com/aappleby/smhasher/blob/master/src/MurmurHash2.cpp
|
||||||
Also evaluated in Chris Wellons' hash-prospector:
|
|
||||||
https://github.com/skeeto/hash-prospector
|
|
||||||
|
|
||||||
fmix64 constants (Murmur3, Austin Appleby):
|
fmix64 constants (Murmur3, Austin Appleby):
|
||||||
https://github.com/aappleby/smhasher
|
https://github.com/aappleby/smhasher
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,11 @@
|
||||||
/* This file is free software, part of containers. See file "license" for more details. */
|
/* This file is free software, part of containers. See file "license" for more details. */
|
||||||
|
|
||||||
/* Hash implementation: xorshift+multiply combiner with fmix64 finalizer.
|
/* Hash implementation: xorshift+multiply combiner with fmix64 finalizer.
|
||||||
Combiner: state ^= chunk; state ^= state >> 32; state *= 0xd6e8feb86659fd93
|
Combiner: state ^= chunk; state ^= state >> 32; state *= 0xc6a4a7935bd1e995
|
||||||
Finalizer (fmix64, Murmur3): three rounds of xorshift-multiply.
|
Finalizer (fmix64, Murmur3): three rounds of xorshift-multiply.
|
||||||
|
|
||||||
Multiplicative constant 0xd6e8feb86659fd93 (rrmxmx family, Pelle Evensen, 2018):
|
Multiplicative constant 0xc6a4a7935bd1e995 (MurmurHash2, Austin Appleby):
|
||||||
https://mostlymangling.blogspot.com/2018/07/on-mixing-functions-in-fast-hashing.html
|
https://github.com/aappleby/smhasher/blob/master/src/MurmurHash2.cpp
|
||||||
Also evaluated in Chris Wellons' hash-prospector:
|
|
||||||
https://github.com/skeeto/hash-prospector
|
|
||||||
|
|
||||||
fmix64 constants 0xff51afd7ed558ccd / 0xc4ceb9fe1a85ec53 (Murmur3, Austin Appleby):
|
fmix64 constants 0xff51afd7ed558ccd / 0xc4ceb9fe1a85ec53 (Murmur3, Austin Appleby):
|
||||||
https://github.com/aappleby/smhasher
|
https://github.com/aappleby/smhasher
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue