Blender V5.0
hash_mm3.cc File Reference

Go to the source code of this file.

Macros

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

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)
Value:

Definition at line 32 of file hash_mm3.cc.

Referenced by fmix64().

◆ ROTL32

#define ROTL32 ( x,
y )
Value:
static uint32_t rotl32(uint32_t x, int8_t r)
Definition hash_mm3.cc:27

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()

BLI_INLINE uint32_t fmix32 ( uint32_t h)

Definition at line 51 of file hash_mm3.cc.

References BLI_INLINE.

Referenced by BLI_hash_mm3().

◆ fmix64()

Definition at line 62 of file hash_mm3.cc.

References BIG_CONSTANT, and BLI_INLINE.

◆ getblock32()

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

Definition at line 39 of file hash_mm3.cc.

References BLI_INLINE, and i.

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.

References BLI_INLINE, and i.

◆ rotl32()

uint32_t rotl32 ( uint32_t x,
int8_t r )
inlinestatic

Definition at line 27 of file hash_mm3.cc.

References x.