WPILibC++
2019.1.1-beta-1
|
The intermediate state used during hashing. More...
#include <Hashing.h>
Public Member Functions | |
void | mix (const char *s) |
Mix in a 64-byte buffer of data. More... | |
uint64_t | finalize (size_t length) |
Compute the final 64-bit hash code value based on the current state and the length of bytes hashed. More... | |
Static Public Member Functions | |
static hash_state | create (const char *s, uint64_t seed) |
Create a new hash_state structure and initialize it based on the seed and the first 64-byte chunk. More... | |
static void | mix_32_bytes (const char *s, uint64_t &a, uint64_t &b) |
Mix 32-bytes from the input sequence into the 16-bytes of 'a' and 'b', including whatever is already in 'a' and 'b'. More... | |
Public Attributes | |
uint64_t | h0 |
uint64_t | h1 |
uint64_t | h2 |
uint64_t | h3 |
uint64_t | h4 |
uint64_t | h5 |
uint64_t | h6 |
The intermediate state used during hashing.
Currently, the algorithm for computing hash codes is based on CityHash and keeps 56 bytes of arbitrary state.
|
inlinestatic |
Create a new hash_state structure and initialize it based on the seed and the first 64-byte chunk.
This effectively performs the initial mix.
|
inline |
Compute the final 64-bit hash code value based on the current state and the length of bytes hashed.
|
inline |
Mix in a 64-byte buffer of data.
We mix all 64 bytes even when the chunk length is smaller, but we record the actual length.
|
inlinestatic |
Mix 32-bytes from the input sequence into the 16-bytes of 'a' and 'b', including whatever is already in 'a' and 'b'.