MySQL 9.5.0
Source Code Documentation
hash.cc File Reference
#include <cstdint>
#include <ankerl/unordered_dense.h>
#include "my_hash_combine.h"
#include "sql/hash.h"

Functions

uint64_t HashCString (const char *str)
 
uint64_t HashString (const std::string_view str)
 
template<typename T >
uint64_t HashNumber (T num)
 
template uint64_t HashNumber< int > (int num)
 
template uint64_t HashNumber< double > (double num)
 
template uint64_t HashNumber< uint64_t > (uint64_t num)
 
template uint64_t HashNumber< long long > (long long num)
 
template uint64_t HashNumber< long > (long num)
 
template uint64_t HashNumber< unsigned int > (unsigned int num)
 
template uint64_t HashNumber< unsigned char > (unsigned char num)
 
uint64_t CombineNonCommutativeSigs (uint64_t h1, uint64_t h2)
 Non-commutative hash combination NULL hashes (i.e. More...
 
uint64_t CombineCommutativeSigs (uint64_t h1, uint64_t h2)
 Commutative hash combination NULL hashes (i.e. More...
 

Function Documentation

◆ CombineCommutativeSigs()

uint64_t CombineCommutativeSigs ( uint64_t  h1,
uint64_t  h2 
)

Commutative hash combination NULL hashes (i.e.

hash value of zero) do not propagate, meaning that the combination of a non-zero hash and a zero hash will yield a non-zero hash.

◆ CombineNonCommutativeSigs()

uint64_t CombineNonCommutativeSigs ( uint64_t  h1,
uint64_t  h2 
)

Non-commutative hash combination NULL hashes (i.e.

hash value of zero) do not propagate, meaning that the combination of a non-zero hash and a zero hash will yield a non-zero hash.

◆ HashCString()

uint64_t HashCString ( const char *  str)

◆ HashNumber()

template<typename T >
uint64_t HashNumber ( T  num)

◆ HashNumber< double >()

template uint64_t HashNumber< double > ( double  num)

◆ HashNumber< int >()

template uint64_t HashNumber< int > ( int  num)

◆ HashNumber< long >()

template uint64_t HashNumber< long > ( long  num)

◆ HashNumber< long long >()

template uint64_t HashNumber< long long > ( long long  num)

◆ HashNumber< uint64_t >()

template uint64_t HashNumber< uint64_t > ( uint64_t  num)

◆ HashNumber< unsigned char >()

template uint64_t HashNumber< unsigned char > ( unsigned char  num)

◆ HashNumber< unsigned int >()

template uint64_t HashNumber< unsigned int > ( unsigned int  num)

◆ HashString()

uint64_t HashString ( const std::string_view  str)