Blender V4.3
hash_mm3.cc File Reference

Go to the source code of this file.

Macros

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

Functions

static uint32_t rotl32 (uint32_t x, int8_t r)
 
BLI_INLINE uint32_t getblock32 (const uint32_t *p, int i)
 
BLI_INLINE uint64_t getblock64 (const uint64_t *p, int i)
 
BLI_INLINE uint32_t fmix32 (uint32_t h)
 
BLI_INLINE uint64_t fmix64 (uint64_t k)
 
uint32_t BLI_hash_mm3 (const uchar *data, size_t len, uint32_t seed)
 

Detailed Description

Functions to compute Murmur3 hash key.

This Code is based on alShaders/Cryptomatte/MurmurHash3.h:

MurmurHash3 was written by Austin Appleby, and is placed in the public domain. The author hereby disclaims copyright to this source code.

Definition in file hash_mm3.cc.

Macro Definition Documentation

◆ BIG_CONSTANT

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

Definition at line 32 of file hash_mm3.cc.

Referenced by fmix64().

◆ ROTL32

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

Definition at line 31 of file hash_mm3.cc.

Referenced by BLI_hash_mm3().

Function Documentation

◆ BLI_hash_mm3()

uint32_t BLI_hash_mm3 ( const uchar * data,
size_t len,
uint32_t seed )

◆ fmix32()

Definition at line 51 of file hash_mm3.cc.

Referenced by BLI_hash_mm3().

◆ fmix64()

Definition at line 62 of file hash_mm3.cc.

References BIG_CONSTANT.

◆ getblock32()

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

Definition at line 39 of file hash_mm3.cc.

Referenced by BLI_hash_mm3().

◆ getblock64()

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

Definition at line 44 of file hash_mm3.cc.

◆ rotl32()

static uint32_t rotl32 ( uint32_t x,
int8_t r )
inlinestatic

Definition at line 27 of file hash_mm3.cc.