Collaboration diagram for Murmur3 Hash Implementation:Macros | |
| #define | BIG_CONSTANT(x) (x##LLU) |
| Unsigned long long constants. | |
| #define BIG_CONSTANT | ( | x | ) | (x##LLU) |
Unsigned long long constants.
Definition at line 106 of file hash-murmur3.cc.
Finalization mix - force all bits of a hash block to avalanche.
| [in] | h | Final word of the hash block. |
Definition at line 136 of file hash-murmur3.cc.
References ns3::Create().
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 call graph for this function:
Here is the caller graph for this function:
|
inline |
Finalization mix - force all bits of a hash block to avalanche.
| [in] | h | Final word of the hash block. |
Definition at line 149 of file hash-murmur3.cc.
References BIG_CONSTANT, and ns3::Create().
Here is the call 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.
| [in] | p | Block base address. |
| [in] | i | Index into the block. |
i'th word from the block. Definition at line 119 of file hash-murmur3.cc.
References ns3::Create().
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 call graph for this function:
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.
| [in] | p | Block base address. |
| [in] | i | Index into the block. |
i'th word from the block. Definition at line 124 of file hash-murmur3.cc.
References ns3::Create().
Here is the call graph for this function:| void ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x64_128 | ( | const void * | key, |
| const std::size_t | len, | ||
| const uint32_t | seed, | ||
| void * | out | ||
| ) |
Initial and incremental hash.
| [in] | key | Data to be hashed. |
| [in] | len | Number of words in the key. |
| [in] | seed | Initial or current hash state. |
| [out] | out | Output hash value. |
Definition at line 422 of file hash-murmur3.cc.
References BIG_CONSTANT, ns3::Create(), 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 std::size_t | len, | ||
| uint32_t | seed, | ||
| void * | out | ||
| ) |
Initial and incremental hash.
| [in] | key | Data to be hashed. |
| [in] | len | Number of words in the key. |
| [in] | seed | Initial or current hash state. |
| [out] | out | Output hash value. |
Definition at line 290 of file hash-murmur3.cc.
References ns3::Create(), 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 std::size_t | len, |
| uint32_t * | seeds, | ||
| void * | out | ||
| ) |
Finalize a hash.
| [in] | len | Total number of words that have gone in to the hash. |
| [in] | seeds | Initial or current hash state. |
| [out] | out | Output hash value. |
Definition at line 390 of file hash-murmur3.cc.
References ns3::Create(), and ns3::Hash::Function::Murmur3Implementation::fmix().
Referenced by 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 std::size_t | len, | ||
| uint32_t * | seeds, | ||
| void * | out | ||
| ) |
Initial and incremental hash.
| [in] | key | Data to be hashed. |
| [in] | len | Number of words in the key. |
| [in] | seeds | Initial or current hash state. |
| [out] | out | Output hash value. |
Definition at line 300 of file hash-murmur3.cc.
References ns3::Create(), data, ns3::Hash::Function::Murmur3Implementation::getblock(), and ns3::Hash::Function::Murmur3Implementation::rotl32().
Referenced by 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, |
| std::size_t | len, | ||
| uint32_t | seed, | ||
| void * | out | ||
| ) |
Initial and incremental hash.
| [in] | key | Data to be hashed. |
| [in] | len | Number of words in the key. |
| [in] | seed | Initial or current hash state. |
| [out] | out | Output hash value. |
Definition at line 185 of file hash-murmur3.cc.
References ns3::Create(), 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 | ( | std::size_t | len, |
| uint32_t | seed, | ||
| void * | out | ||
| ) |
Finalize a hash.
| [in] | len | Total number of words that have gone in to the hash. |
| [in] | seed | Initial or current hash state. |
| [out] | out | Output hash value. |
Definition at line 243 of file hash-murmur3.cc.
References ns3::Create(), and ns3::Hash::Function::Murmur3Implementation::fmix().
Referenced by 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, |
| std::size_t | len, | ||
| uint32_t | seed, | ||
| void * | out | ||
| ) |
Initial and incremental hash.
| [in] | key | Data to be hashed. |
| [in] | len | Number of words in the key. |
| [in] | seed | Initial or current hash state. |
| [out] | out | Output hash value. |
Definition at line 193 of file hash-murmur3.cc.
References ns3::Create(), data, ns3::Hash::Function::Murmur3Implementation::getblock(), and ns3::Hash::Function::Murmur3Implementation::rotl32().
Referenced by ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32().
Here is the call graph for this function:
Here is the caller graph for this function:Barrel shift (rotate) left on 32 bits.
| [in] | x | The initial value. |
| [in] | r | The number of bit positions to rotate. |
Definition at line 88 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.
| [in] | x | The initial value. |
| [in] | r | The number of bit positions to rotate. |
Definition at line 100 of file hash-murmur3.cc.
Referenced by ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x64_128().
Here is the caller graph for this function: