hashfunctions

generic hash functions and PRFs: Jenkins, FNV, siphash
git clone https://noulin.net/git/hashfunctions.git
Log | Files | Refs | LICENSE

hashfunctions.h (572B)


      1 #pragma once
      2 #include "libsheepyObject.h"
      3 #include "siphash.h"
      4 #include "murmur3.h"
      5 #include "md5.h"
      6 
      7 u32 strHashFNV1A(char *k);
      8 u64 strHashFNV1A64(char *k);
      9 u32 bHashFNV1A(void *k, size_t size);
     10 u64 bHashFNV1A64(void *k, size_t size);
     11 u32 u32Hash(u32 k);
     12 u64 u64Hash(u64 k);
     13 
     14 u32 murmur2hash(const unsigned char *b, size_t len);
     15 
     16 i32 jumpConsistentHash(u64 key, i32 bucketCount);
     17 
     18 #define isHashfunctionsCompiledWithCurrentLisheepyVersion checkLibsheepyVersionHashfunctions(LIBSHEEPY_VERSION)
     19 bool checkLibsheepyVersionHashfunctions(const char *currentLibsheepyVersion);