|
Blender V4.5
|
Go to the source code of this file.
Macros | |
| #define | MM2A_M 0x5bd1e995 |
| #define | MM2A_MIX(h, k) |
| #define | MM2A_MIX_FINALIZE(h) |
Functions | |
| static void | mm2a_mix_tail (BLI_HashMurmur2A *mm2, const uchar **data, size_t *len) |
| void | BLI_hash_mm2a_init (BLI_HashMurmur2A *mm2, uint32_t seed) |
| void | BLI_hash_mm2a_add (BLI_HashMurmur2A *mm2, const uchar *data, size_t len) |
| void | BLI_hash_mm2a_add_int (BLI_HashMurmur2A *mm2, int data) |
| uint32_t | BLI_hash_mm2a_end (BLI_HashMurmur2A *mm2) |
| uint32_t | BLI_hash_mm2 (const uchar *data, size_t len, uint32_t seed) |
Functions to compute Murmur2A hash key.
A very fast hash generating int32 result, with few collisions and good repartition.
See also: reference implementation:
Definition in file hash_mm2a.cc.
| #define MM2A_M 0x5bd1e995 |
Definition at line 26 of file hash_mm2a.cc.
Referenced by BLI_hash_mm2().
| #define MM2A_MIX | ( | h, | |
| k ) |
Definition at line 28 of file hash_mm2a.cc.
Referenced by BLI_hash_mm2(), BLI_hash_mm2a_add(), BLI_hash_mm2a_end(), and mm2a_mix_tail().
| #define MM2A_MIX_FINALIZE | ( | h | ) |
Definition at line 37 of file hash_mm2a.cc.
Referenced by BLI_hash_mm2(), and BLI_hash_mm2a_end().
| uint32_t BLI_hash_mm2 | ( | const unsigned char * | data, |
| size_t | len, | ||
| uint32_t | seed ) |
Non-incremental version, quicker for small keys.
Definition at line 100 of file hash_mm2a.cc.
References ATTR_FALLTHROUGH, BLI_hash_mm2(), data, len(), MM2A_M, MM2A_MIX, and MM2A_MIX_FINALIZE.
Referenced by BLI_ghashutil_inthash_p_murmur(), BLI_ghashutil_strhash_p_murmur(), BLI_ghashutil_uinthash_v4_murmur(), BLI_hash_mm2(), FrsMaterial_hash(), and GPU_vertformat_safe_attr_name().
| void BLI_hash_mm2a_add | ( | BLI_HashMurmur2A * | mm2, |
| const uchar * | data, | ||
| size_t | len ) |
Definition at line 70 of file hash_mm2a.cc.
References BLI_hash_mm2a_add(), data, BLI_HashMurmur2A::hash, len(), MM2A_MIX, mm2a_mix_tail(), and BLI_HashMurmur2A::size.
Referenced by BLI_hash_mm2a_add(), BLI_hash_mm2a_add_int(), blender::gpu::shader::GPUCodegen::generate_graphs(), TEST(), TEST(), and TEST().
| void BLI_hash_mm2a_add_int | ( | BLI_HashMurmur2A * | mm2, |
| int | data ) |
Definition at line 85 of file hash_mm2a.cc.
References BLI_hash_mm2a_add(), BLI_hash_mm2a_add_int(), and data.
Referenced by BLI_hash_mm2a_add_int(), blender::gpu::shader::GPUCodegen::GPUCodegen(), and TEST().
| uint32_t BLI_hash_mm2a_end | ( | BLI_HashMurmur2A * | mm2 | ) |
Definition at line 90 of file hash_mm2a.cc.
References BLI_hash_mm2a_end(), BLI_HashMurmur2A::hash, MM2A_MIX, MM2A_MIX_FINALIZE, BLI_HashMurmur2A::size, and BLI_HashMurmur2A::tail.
Referenced by BLI_hash_mm2a_end(), blender::gpu::shader::GPUCodegen::generate_graphs(), TEST(), TEST(), and TEST().
| void BLI_hash_mm2a_init | ( | BLI_HashMurmur2A * | mm2, |
| uint32_t | seed ) |
Definition at line 62 of file hash_mm2a.cc.
References BLI_hash_mm2a_init(), BLI_HashMurmur2A::count, BLI_HashMurmur2A::hash, BLI_HashMurmur2A::size, and BLI_HashMurmur2A::tail.
Referenced by BLI_hash_mm2a_init(), blender::gpu::shader::GPUCodegen::GPUCodegen(), TEST(), TEST(), and TEST().
|
static |
Definition at line 45 of file hash_mm2a.cc.
References BLI_HashMurmur2A::count, data, BLI_HashMurmur2A::hash, len(), MM2A_MIX, mm2a_mix_tail(), and BLI_HashMurmur2A::tail.
Referenced by BLI_hash_mm2a_add(), and mm2a_mix_tail().