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().
|
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().
|
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().
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().
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().
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().
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().
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().
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().
|
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().
|
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().