NeoPZ
Macros | Functions
MurmurHash3.cpp File Reference
#include "MurmurHash3.h"
#include <string>
Include dependency graph for MurmurHash3.cpp:

Go to the source code of this file.

Macros

#define FORCE_INLINE
 
#define ROTL32(x, y)
 
#define ROTL64(x, y)
 
#define BIG_CONSTANT(x)
 

Functions

uint32_t rotl32 (uint32_t x, int8_t r)
 
uint64_t rotl64 (uint64_t x, int8_t r)
 
FORCE_INLINE uint32_t getblock32 (const uint32_t *p, int i)
 
FORCE_INLINE uint64_t getblock64 (const uint64_t *p, int i)
 
FORCE_INLINE uint32_t fmix32 (uint32_t h)
 
FORCE_INLINE uint64_t fmix64 (uint64_t k)
 
void MurmurHash3_x86_32 (const void *key, int len, uint32_t seed, void *out)
 
void MurmurHash3_x86_128 (const void *key, const int len, uint32_t seed, void *out)
 
void MurmurHash3_x64_128 (const void *key, const int len, const uint32_t seed, void *out)
 

Macro Definition Documentation

◆ BIG_CONSTANT

#define BIG_CONSTANT (   x)

Definition at line 46 of file MurmurHash3.cpp.

Referenced by fmix64(), and MurmurHash3_x64_128().

◆ FORCE_INLINE

#define FORCE_INLINE

Definition at line 33 of file MurmurHash3.cpp.

◆ ROTL32

#define ROTL32 (   x,
 
)

Definition at line 43 of file MurmurHash3.cpp.

Referenced by MurmurHash3_x86_128(), and MurmurHash3_x86_32().

◆ ROTL64

#define ROTL64 (   x,
 
)

Definition at line 44 of file MurmurHash3.cpp.

Referenced by MurmurHash3_x64_128().

Function Documentation

◆ fmix32()

FORCE_INLINE uint32_t fmix32 ( uint32_t  h)

Definition at line 65 of file MurmurHash3.cpp.

References h.

Referenced by MurmurHash3_x86_128(), and MurmurHash3_x86_32().

◆ fmix64()

FORCE_INLINE uint64_t fmix64 ( uint64_t  k)

Definition at line 77 of file MurmurHash3.cpp.

References BIG_CONSTANT.

Referenced by MurmurHash3_x64_128().

◆ getblock32()

FORCE_INLINE uint32_t getblock32 ( const uint32_t *  p,
int  i 
)

Definition at line 54 of file MurmurHash3.cpp.

Referenced by MurmurHash3_x86_128(), and MurmurHash3_x86_32().

◆ getblock64()

FORCE_INLINE uint64_t getblock64 ( const uint64_t *  p,
int  i 
)

Definition at line 58 of file MurmurHash3.cpp.

Referenced by MurmurHash3_x64_128().

◆ MurmurHash3_x64_128()

void MurmurHash3_x64_128 ( const void *  key,
const int  len,
const uint32_t  seed,
void *  out 
)

Definition at line 290 of file MurmurHash3.cpp.

References BIG_CONSTANT, fmix64(), getblock64(), and ROTL64.

◆ MurmurHash3_x86_128()

void MurmurHash3_x86_128 ( const void *  key,
const int  len,
uint32_t  seed,
void *  out 
)

Definition at line 145 of file MurmurHash3.cpp.

References fmix32(), getblock32(), and ROTL32.

◆ MurmurHash3_x86_32()

void MurmurHash3_x86_32 ( const void *  key,
int  len,
uint32_t  seed,
void *  out 
)

Definition at line 89 of file MurmurHash3.cpp.

References fmix32(), getblock32(), and ROTL32.

Referenced by Hash().

◆ rotl32()

uint32_t rotl32 ( uint32_t  x,
int8_t  r 
)
inline

Definition at line 35 of file MurmurHash3.cpp.

◆ rotl64()

uint64_t rotl64 ( uint64_t  x,
int8_t  r 
)
inline

Definition at line 39 of file MurmurHash3.cpp.