biomcmc-lib  0.1
low level library for phylogenetic analysis
Functions
hashfunctions.h File Reference

Collections of hash functions for 32 and 64 bits, including one-liners, murmurhash, and xxhash. More...

#include "bipartition.h"
Include dependency graph for hashfunctions.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

uint32_t biomcmc_hashint_salted (uint32_t a, int salt)
 
uint32_t biomcmc_hashbyte_salted (const void *str, size_t size, int salt)
 
uint64_t biomcmc_hashint64_salted (uint64_t k, int salt)
 
uint32_t biomcmc_hashint_mix_salted (uint32_t a, uint32_t b, int salt)
 
uint64_t biomcmc_hashint64_mix_salted (uint64_t a, uint64_t b, int salt)
 
uint32_t biomcmc_hashint_64to32_seed (uint64_t x, int seed)
 
uint32_t biomcmc_hashint_64to32 (uint64_t key)
 
uint32_t bipartition_hash (bipartition bip)
 32bits hash value for bipartition
 
uint64_t biomcmc_murmurhash3_128bits (const void *key, const size_t len, const uint32_t seed, void *out)
 murmurhash3 using 64bits to return 128 bits (4 ints) of hash into out[] and also 64 bits as return value The 64bits is the format used internally (for speed), but the input can be a vector of any size (>1 byte)
 
uint64_t biomcmc_murmurhash3_64bits (const void *key, const size_t len, const uint32_t seed)
 convenience function for calling mumurhash_128bits without an output vector
 
uint32_t biomcmc_murmurhash3_32bits (const void *data, size_t nbytes, const uint32_t seed)
 murmurhash3 using 32bits to return 32 bits of hash as return value
 
uint64_t biomcmc_xxh64 (const void *input, const size_t len, const uint32_t seed)
 xxhash function for 64 bits
 

Detailed Description

Collections of hash functions for 32 and 64 bits, including one-liners, murmurhash, and xxhash.