Thorin 1.9.0
The Higher ORder INtermediate representation
Loading...
Searching...
No Matches
hash.h File Reference
Include dependency graph for hash.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  thorin::FNV1
 Magic numbers for FNV-1 hash. More...
 

Namespaces

namespace  thorin
 

Typedefs

Aliases for some Base Types
using thorin::hash_t = uint32_t
 

Functions

Murmur3 Hash

See Wikipedia.

hash_t thorin::murmur_32_scramble (hash_t k)
 
hash_t thorin::murmur3 (hash_t h, uint32_t key)
 
hash_t thorin::murmur3 (hash_t h, uint64_t key)
 
hash_t thorin::murmur3_rest (hash_t h, uint8_t key)
 
hash_t thorin::murmur3_rest (hash_t h, uint16_t key)
 
hash_t thorin::murmur3_finalize (hash_t h, hash_t len)
 
hash_t thorin::murmur3 (hash_t h)
 Use for a single value to hash.
 
FNV-1 Hash

See Wikipedia.

template<class T >
hash_t thorin::hash_combine (hash_t seed, T v)
 Returns a new hash by combining the hash seed with val.
 
template<class T >
hash_t thorin::hash_combine (hash_t seed, T *val)
 
template<class T , class... Args>
hash_t thorin::hash_combine (hash_t seed, T val, Args &&... args)
 
template<class T >
hash_t thorin::hash_begin (T val)
 
hash_t thorin::hash_begin ()
 
String Hashing
hash_t thorin::hash (const char *)
 
hash_t thorin::hash (std::string_view)