|
Blender V4.3
|
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().
Non-incremental version, quicker for small keys.
Definition at line 100 of file hash_mm2a.cc.
References ATTR_FALLTHROUGH, len, MM2A_M, MM2A_MIX, MM2A_MIX_FINALIZE, and seed.
Referenced by BLI_ghashutil_inthash_p_murmur(), BLI_ghashutil_strhash_p_murmur(), BLI_ghashutil_uinthash_v4_murmur(), FrsMaterial_hash(), and blender::io::ply::PLYImportTest::import_and_check().
| 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_HashMurmur2A::hash, len, MM2A_MIX, mm2a_mix_tail(), and BLI_HashMurmur2A::size.
Referenced by BLI_hash_mm2a_add_int(), GPUCodegen::generate_graphs(), blender::io::ply::PLYImportTest::import_and_check(), 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().
Referenced by GPUCodegen::GPUCodegen(), and TEST().
| uint32_t BLI_hash_mm2a_end | ( | BLI_HashMurmur2A * | mm2 | ) |
Definition at line 90 of file hash_mm2a.cc.
References BLI_HashMurmur2A::hash, MM2A_MIX, MM2A_MIX_FINALIZE, BLI_HashMurmur2A::size, and BLI_HashMurmur2A::tail.
Referenced by GPUCodegen::generate_graphs(), blender::io::ply::PLYImportTest::import_and_check(), 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_HashMurmur2A::count, BLI_HashMurmur2A::hash, seed, BLI_HashMurmur2A::size, and BLI_HashMurmur2A::tail.
Referenced by GPUCodegen::GPUCodegen(), blender::io::ply::PLYImportTest::import_and_check(), TEST(), TEST(), and TEST().
|
static |
Definition at line 45 of file hash_mm2a.cc.
References BLI_HashMurmur2A::count, BLI_HashMurmur2A::hash, len, MM2A_MIX, and BLI_HashMurmur2A::tail.
Referenced by BLI_hash_mm2a_add().