Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
hash-fct.C File Reference
#include <time.h>
#include <gsl/gsl_rng.h>
#include <stdexcept>
#include "hash-fct.H"
#include <ah-errors.H>
Include dependency graph for hash-fct.C:

Go to the source code of this file.

Namespaces

namespace  Aleph
 Main namespace for Aleph-w library functions.
 

Macros

#define FORCE_INLINE   inline
 
#define ROTL32(x, y)   rotl32(x,y)
 
#define ROTL64(x, y)   rotl64(x,y)
 
#define BIG_CONSTANT(x)   (x##LLU)
 
#define getblock(p, i)   (p[i])
 

Functions

void Aleph::init_jsw () noexcept
 
size_t Aleph::jsw_hash (const void *key, size_t len)
 JSW hash (Julienne Walker)
 
size_t Aleph::jsw_hash (const char *key)
 JSW hash for C strings.
 
static uint32_t Aleph::rotl32 (uint32_t x, int8_t r)
 
static uint64_t Aleph::rotl64 (uint64_t x, int8_t r)
 
static uint32_t Aleph::fmix32 (uint32_t h)
 
static uint64_t Aleph::fmix64 (uint64_t k)
 
void Aleph::MurmurHash3_x86_32 (const void *key, int len, uint32_t seed, void *out)
 
void Aleph::MurmurHash3_x86_128 (const void *key, const int len, uint32_t seed, void *out)
 
void Aleph::MurmurHash3_x64_128 (const void *key, const int len, const uint32_t seed, void *out)
 

Variables

const unsigned Aleph::Default_Hash_Seed = 52679987
 Hash functions (implementaciones concretas).
 
static long Aleph::tab [256]
 
static bool Aleph::init = false
 

Macro Definition Documentation

◆ BIG_CONSTANT

#define BIG_CONSTANT (   x)    (x##LLU)

Definition at line 148 of file hash-fct.C.

◆ FORCE_INLINE

#define FORCE_INLINE   inline

Definition at line 132 of file hash-fct.C.

◆ getblock

#define getblock (   p,
 
)    (p[i])

Definition at line 154 of file hash-fct.C.

◆ ROTL32

#define ROTL32 (   x,
  y 
)    rotl32(x,y)

Definition at line 145 of file hash-fct.C.

◆ ROTL64

#define ROTL64 (   x,
  y 
)    rotl64(x,y)

Definition at line 146 of file hash-fct.C.