This is essentially a copy-paste of the reference implementation of jump-hash
as can be found at:
https://arxiv.org/pdf/1406.2294v1.pdf
A Fast, Minimal Memory, Consistent Hash Algorithm
John Lamping, Eric Veach
Google
Usage
-----
#include <jumphash.h>
uint64_t key;
uint32_t num_buckets;
uint32_t bucket;
bucket = jumphash(key, num_buckets);
Building
--------
autoreconf -iv &&
./configure &&
make &&
make check &&
echo "Success."
Testing
-------
make check &&
make test &&
FROM=2 TO=3 VERBOSE=1 &&
./test_jumphash_rebucket $FROM $TO $VERBOSE &&
echo "Success."
License
-------
GNU Lesser General Public License (LGPL), version 2.1 or later.
See COPYING for details.