MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
hash.h File Reference
#include "mim/util/types.h"
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  mim::FNV1
 

Namespaces

namespace  mim
 

Typedefs

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

Functions

Murmur3 Hash

See Wikipedia.

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

See Wikipedia.

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