Painless
A framework to ease parallelization of sequential CDCL SAT solvers
Loading...
Searching...
No Matches
Hashing functions
size_t wang32_hash (size_t key)
 Thomas Wang's 32 bit hash function.
 
size_t knuth32_hash (size_t key)
 Knuth's Multiplicative hash function.
 
template<class It >
size_t fnv_hash (It begin, It end)
 Fowler-Noll-Vo hash function.
 

Detailed Description

Function Documentation

◆ fnv_hash()

template<class It >
size_t fnv_hash ( It begin,
It end )

Fowler-Noll-Vo hash function.

This function is a non-cryptographic fast hash function. The magic constants depend on the size of a size_t.

◆ knuth32_hash()

size_t knuth32_hash ( size_t key)
inline

Knuth's Multiplicative hash function.

This function is suitable for hashing values whose high order bits do not vary much (ex. addresses of memory objects). Prefer spot::wang32_hash() otherwise. http://web.archive.org/web/2011/concentric.net/~Ttwang/tech/addrhash.htm

◆ wang32_hash()

size_t wang32_hash ( size_t key)
inline

Thomas Wang's 32 bit hash function.

Hash an integer amongst the integers. http://web.archive.org/web/2011/concentric.net/~Ttwang/tech/inthash.htm