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, std::size_t i) |
Block read. More... | |
uint64_t | ns3::Hash::Function::Murmur3Implementation::getblock (const uint64_t *p, std::size_t i) |
Block read. More... | |
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. More... | |
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. More... | |
void | ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128_fin (const std::size_t len, uint32_t *seeds, void *out) |
Finalize a hash. More... | |
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. More... | |
void | ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32 (const void *key, std::size_t len, uint32_t seed, void *out) |
Initial and incremental hash. More... | |
void | ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32_fin (std::size_t len, uint32_t seed, void *out) |
Finalize a hash. More... | |
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. 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 113 of file hash-murmur3.cc.
|
inline |
Finalization mix - force all bits of a hash block to avalanche.
[in] | h | Final word of the hash block. |
Definition at line 143 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().
|
inline |
Finalization mix - force all bits of a hash block to avalanche.
[in] | h | Final word of the hash block. |
Definition at line 156 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.
[in] | p | Block base address. |
[in] | i | Index into the block. |
i'th
word from the block. Definition at line 126 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().
|
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 131 of file hash-murmur3.cc.
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 429 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().
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 297 of file hash-murmur3.cc.
References ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128_fin(), and ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128_incr().
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 397 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().
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 307 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().
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 192 of file hash-murmur3.cc.
References ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32_fin(), and ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32_incr().
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 250 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().
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 200 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().
|
inline |
Barrel shift (rotate) left on 32 bits.
[in] | x | The initial value. |
[in] | r | The number of bit positions to rotate. |
Definition at line 95 of file hash-murmur3.cc.
References sample-rng-plot::x.
Referenced by ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_128_incr(), and ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x86_32_incr().
|
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 107 of file hash-murmur3.cc.
References sample-rng-plot::x.
Referenced by ns3::Hash::Function::Murmur3Implementation::MurmurHash3_x64_128().