Collaboration diagram for Murmur3 Hash Implementation:Macros | |
| #define | BIG_CONSTANT(x) (x##LLU) |
| Unsigned long long constants. More... | |
Functions | |
| uint32_t | ns3::Hash::Function::Murmur3Implementation::fmix (uint32_t h) |
| Finalization mix - force all bits of a hash block to avalanche. More... | |
| uint64_t | ns3::Hash::Function::Murmur3Implementation::fmix (uint64_t h) |
| Finalization mix - force all bits of a hash block to avalanche. More... | |
| uint32_t | ns3::Hash::Function::Murmur3Implementation::getblock (const uint32_t *p, int i) |
| Block read. More... | |
| uint64_t | ns3::Hash::Function::Murmur3Implementation::getblock (const uint64_t *p, int i) |
| Block read. More... | |
| void | ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x64_128 (const void *key, const int len, const uint32_t seed, void *out) |
| Initial and incremental hash. More... | |
| void | ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128 (const void *key, const int len, uint32_t seed, void *out) |
| Initial and incremental hash. More... | |
| void | ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128_fin (const int len, uint32_t *seeds, void *out) |
| Finalize a hash. More... | |
| void | ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128_incr (const void *key, const int len, uint32_t *seeds, void *out) |
| Initial and incremental hash. More... | |
| void | ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32 (const void *key, int len, uint32_t seed, void *out) |
| Initial and incremental hash. More... | |
| void | ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32_fin (int len, uint32_t seed, void *out) |
| Finalize a hash. More... | |
| void | ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32_incr (const void *key, int len, uint32_t seed, void *out) |
| Initial and incremental hash. More... | |
| uint32_t | ns3::Hash::Function::Murmur3Implementation::rotl32 (uint32_t x, int8_t r) |
| Barrel shift (rotate) left on 32 bits. More... | |
| uint64_t | ns3::Hash::Function::Murmur3Implementation::rotl64 (uint64_t x, int8_t r) |
| Barrel shift (rotate) left on 64 bits. More... | |
| #define BIG_CONSTANT | ( | x | ) | (x##LLU) |
Unsigned long long constants.
Definition at line 109 of file hash-murmur3.cc.
Referenced by ns3::Hash::Function::Murmur3Implementation::fmix(), and ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x64_128().
|
inline |
Finalization mix - force all bits of a hash block to avalanche.
| h | Final word of the hash block. |
Definition at line 139 of file hash-murmur3.cc.
Referenced by ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x64_128(), ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128_fin(), and ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32_fin().
Here is the caller graph for this function:
|
inline |
Finalization mix - force all bits of a hash block to avalanche.
| h | Final word of the hash block. |
Definition at line 152 of file hash-murmur3.cc.
References BIG_CONSTANT.
|
inline |
Block read.
If your platform needs to do endian-swapping or can only handle aligned reads, do the conversion here.
| p | Block base address. |
| i | Index into the block. |
i'th word from the block. Definition at line 122 of file hash-murmur3.cc.
Referenced by ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x64_128(), ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128_incr(), and ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32_incr().
Here is the caller graph for this function:
|
inline |
Block read.
If your platform needs to do endian-swapping or can only handle aligned reads, do the conversion here.
| p | Block base address. |
| i | Index into the block. |
i'th word from the block. Definition at line 127 of file hash-murmur3.cc.
| void ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x64_128 | ( | const void * | key, |
| const int | len, | ||
| const uint32_t | seed, | ||
| void * | out | ||
| ) |
Initial and incremental hash.
| key | Data to be hashed. |
| len | Number of words in the key. |
| seed | Initial or current hash state. |
| out | Output hash value. |
Definition at line 421 of file hash-murmur3.cc.
References BIG_CONSTANT, data, ns3::Hash::Function::Murmur3Implementation::fmix(), ns3::Hash::Function::Murmur3Implementation::getblock(), and ns3::Hash::Function::Murmur3Implementation::rotl64().
Here is the call graph for this function:| void ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128 | ( | const void * | key, |
| const int | len, | ||
| uint32_t | seed, | ||
| void * | out | ||
| ) |
Initial and incremental hash.
| key | Data to be hashed. |
| len | Number of words in the key. |
| seed | Initial or current hash state. |
| out | Output hash value. |
Definition at line 291 of file hash-murmur3.cc.
References ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128_fin(), and ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128_incr().
Here is the call graph for this function:| void ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128_fin | ( | const int | len, |
| uint32_t * | seeds, | ||
| void * | out | ||
| ) |
Finalize a hash.
| len | Total number of words that have gone in to the hash. |
| seeds | Initial or current hash state. |
| out | Output hash value. |
Definition at line 389 of file hash-murmur3.cc.
References ns3::Hash::Function::Murmur3Implementation::fmix().
Referenced by ns3::Hash::Function::Murmur3::GetHash64(), and ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128_incr | ( | const void * | key, |
| const int | len, | ||
| uint32_t * | seeds, | ||
| void * | out | ||
| ) |
Initial and incremental hash.
| key | Data to be hashed. |
| len | Number of words in the key. |
| seeds | Initial or current hash state. |
| out | Output hash value. |
Definition at line 301 of file hash-murmur3.cc.
References data, ns3::Hash::Function::Murmur3Implementation::getblock(), and ns3::Hash::Function::Murmur3Implementation::rotl32().
Referenced by ns3::Hash::Function::Murmur3::GetHash64(), and ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32 | ( | const void * | key, |
| int | len, | ||
| uint32_t | seed, | ||
| void * | out | ||
| ) |
Initial and incremental hash.
| key | Data to be hashed. |
| len | Number of words in the key. |
| seed | Initial or current hash state. |
| out | Output hash value. |
Definition at line 188 of file hash-murmur3.cc.
References ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32_fin(), and ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32_incr().
Here is the call graph for this function:| void ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32_fin | ( | int | len, |
| uint32_t | seed, | ||
| void * | out | ||
| ) |
Finalize a hash.
| len | Total number of words that have gone in to the hash. |
| seed | Initial or current hash state. |
| out | Output hash value. |
Definition at line 244 of file hash-murmur3.cc.
References ns3::Hash::Function::Murmur3Implementation::fmix().
Referenced by ns3::Hash::Function::Murmur3::GetHash32(), and ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32_incr | ( | const void * | key, |
| int | len, | ||
| uint32_t | seed, | ||
| void * | out | ||
| ) |
Initial and incremental hash.
| key | Data to be hashed. |
| len | Number of words in the key. |
| seed | Initial or current hash state. |
| out | Output hash value. |
Definition at line 196 of file hash-murmur3.cc.
References data, ns3::Hash::Function::Murmur3Implementation::getblock(), and ns3::Hash::Function::Murmur3Implementation::rotl32().
Referenced by ns3::Hash::Function::Murmur3::GetHash32(), and ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Barrel shift (rotate) left on 32 bits.
| x | The initial value. |
| r | The number of bit positions to rotate. |
Definition at line 91 of file hash-murmur3.cc.
Referenced by ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128_incr(), and ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32_incr().
Here is the caller graph for this function:
|
inline |
Barrel shift (rotate) left on 64 bits.
| x | The initial value. |
| r | The number of bit positions to rotate. |
Definition at line 103 of file hash-murmur3.cc.
Referenced by ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x64_128().
Here is the caller graph for this function: