the implement of jenkins has bug
Brought to you by:
davi,
fc_botelho
In __jenkins_hash_vector function of jenkins_hash.c :
> hashes[0] += ((cmph_uint32)k[0] +((cmph_uint32)k[1]<<8) +((cmph_uint32)k[2]<<16) +((cmph_uint32)k[3]<<24));
k is const char *, which is signed in x86, so the sign bit will be extended, which should be considered wrong.
Hi Juan,
thanks for the bug. We will fix this in the next bug fix release that will come up soon. I am working on it. It will break compatibility with prior mphf though. I have got a patch from Michael Samuel ( http://www.miknet.net/ ) reporting and fixing the same bug.
Fabiano.