logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

libmurmurhash - non-cryptographic hash functions

Authors

       MurmurHash  was  created  by  Austin  Appleby.  PMurHash  was written by Shane Day. Fabian Klötzl created
       libmurmurhash. All code is dedicated to the public domain.

Bugs

       The old API is problematic in that a negative length remains unchecked and the output parameter has  very
       specific  alignment  requirements.  Furthermore,  the  order  of  bytes  in  the  hash  may differ across
       architectures.

   ReportingBugs
       Please  file  a  bug  on  GitHub  <github.com/kloetzl/libmurmurhash>  or  send   me   a   mail   <fabian-
       libmurmurhash@kloetzl.info>.

1                                                  2019-02-04                                   LIBMURMURHASH(3)

Description

       LibMurmurHash provides the three variants of MurmurHash3 from the original source. The first parameter
       addr specifies the beginning of the data to be hashed in memory. The second parameter len gives the
       number of bytes to be hashed. The third parameter seed can be used to compute an alternative hash on the
       same data. Pass the location of the hash via the out parameter.

Example

       Compute the hash of length bytes starting from data and print the 32-bit sized hash value.

           uint32_t hash;
           lmmh_x86_32(data, length, 0, &hash);
           printf("%" PRIx32 "", hash);

       Do the same, but with a wider hash.

           uint64_t widehash[2];
           lmmh_x64_128(data, length, 0, widehash);
           printf("%" PRIx64 "%" PRIx64 "", widehash[0], widehash[1]);

Name

       libmurmurhash - non-cryptographic hash functions

Synopsis

#include<murmurhash.h>voidlmmh_x86_32(constvoid*addr,unsignedintlen,uint32_tseed,uint32_tout[1]);voidlmmh_x86_128(constvoid*addr,unsignedintlen,uint32_tseed,uint32_tout[4]);voidlmmh_x64_128(constvoid*addr,unsignedintlen,uint32_tseed,uint64_tout[2]);DeprecatedAPIvoidMurmurHash3_x86_32(constvoid*data,intlen,uint32_tseed,void*out);voidMurmurHash3_x86_128(constvoid*data,intlen,uint32_tseed,void*out);voidMurmurHash3_x64_128(constvoid*data,intlen,uint32_tseed,void*out);
return

See Also