proxygen
|
#include <SpookyHashV2.h>
Public Member Functions | |
void | Init (uint64_t seed1, uint64_t seed2) |
void | Update (const void *message, size_t length) |
void | Final (uint64_t *hash1, uint64_t *hash2) const |
Static Public Member Functions | |
static void | Hash128 (const void *message, size_t length, uint64_t *hash1, uint64_t *hash2) |
static uint64_t | Hash64 (const void *message, size_t length, uint64_t seed) |
static uint32_t | Hash32 (const void *message, size_t length, uint32_t seed) |
static uint64_t | Rot64 (uint64_t x, int k) |
static void | Mix (const uint64_t *data, uint64_t &s0, uint64_t &s1, uint64_t &s2, uint64_t &s3, uint64_t &s4, uint64_t &s5, uint64_t &s6, uint64_t &s7, uint64_t &s8, uint64_t &s9, uint64_t &s10, uint64_t &s11) |
static void | EndPartial (uint64_t &h0, uint64_t &h1, uint64_t &h2, uint64_t &h3, uint64_t &h4, uint64_t &h5, uint64_t &h6, uint64_t &h7, uint64_t &h8, uint64_t &h9, uint64_t &h10, uint64_t &h11) |
static void | End (const uint64_t *data, uint64_t &h0, uint64_t &h1, uint64_t &h2, uint64_t &h3, uint64_t &h4, uint64_t &h5, uint64_t &h6, uint64_t &h7, uint64_t &h8, uint64_t &h9, uint64_t &h10, uint64_t &h11) |
static void | ShortMix (uint64_t &h0, uint64_t &h1, uint64_t &h2, uint64_t &h3) |
static void | ShortEnd (uint64_t &h0, uint64_t &h1, uint64_t &h2, uint64_t &h3) |
Static Private Member Functions | |
static void | Short (const void *message, size_t length, uint64_t *hash1, uint64_t *hash2) |
Private Attributes | |
uint64_t | m_data [2 *sc_numVars] |
uint64_t | m_state [sc_numVars] |
size_t | m_length |
uint8_t | m_remainder |
Static Private Attributes | |
static constexpr size_t | sc_numVars = 12 |
static constexpr size_t | sc_blockSize = sc_numVars*8 |
static constexpr size_t | sc_bufSize = 2*sc_blockSize |
static constexpr uint64_t | sc_const = 0xdeadbeefdeadbeefULL |
Definition at line 56 of file SpookyHashV2.h.
|
inlinestatic |
Definition at line 197 of file SpookyHashV2.h.
References EndPartial().
Referenced by Final(), and Hash128().
|
inlinestatic |
Definition at line 178 of file SpookyHashV2.h.
References Rot64().
Referenced by End().
Definition at line 340 of file SpookyHashV2.cpp.
References folly::data(), End(), m_data, m_length, m_remainder, m_state, Mix(), sc_blockSize, sc_bufSize, sc_numVars, Short(), uint64_t, and uint8_t.
Referenced by folly::RecordIOReader::Iterator::advanceToValid(), Hash32(), and folly::IOBufHash::operator()().
|
static |
Definition at line 162 of file SpookyHashV2.cpp.
References folly::test::end(), End(), i, folly::kHasUnalignedAccess, message, Mix(), sc_blockSize, sc_bufSize, sc_const, sc_numVars, Short(), uint64_t, and uint8_t.
Referenced by folly::IPAddressV6::hash(), Hash32(), and Hash64().
|
inlinestatic |
Definition at line 84 of file SpookyHashV2.h.
References Final(), Hash128(), Init(), seed, uint32_t, uint64_t, and Update().
Referenced by folly::RecordIOReader::Iterator::advanceToValid().
|
inlinestatic |
Definition at line 71 of file SpookyHashV2.h.
References Hash128(), seed, and uint64_t.
Referenced by folly::RecordIOReader::Iterator::advanceToValid(), detail::SpookyHashV2::operator()(), folly::hasher< std::string >::operator()(), and folly::exception_tracer::operator<<().
Definition at line 226 of file SpookyHashV2.cpp.
References m_length, m_remainder, and m_state.
Referenced by folly::RecordIOReader::Iterator::advanceToValid(), Hash32(), and folly::IOBufHash::operator()().
|
inlinestatic |
Definition at line 142 of file SpookyHashV2.h.
References Rot64().
Referenced by Final(), Hash128(), and Update().
Definition at line 124 of file SpookyHashV2.h.
References k.
Referenced by EndPartial(), Mix(), ShortEnd(), and ShortMix().
|
staticprivate |
Definition at line 45 of file SpookyHashV2.cpp.
References a, b, c, folly::test::end(), FOLLY_FALLTHROUGH, i, folly::kHasUnalignedAccess, sc_const, sc_numVars, ShortEnd(), ShortMix(), uint32_t, uint64_t, and uint8_t.
Referenced by Final(), Hash128(), and ShortEnd().
|
inlinestatic |
Definition at line 255 of file SpookyHashV2.h.
References Rot64(), Short(), and uint64_t.
Referenced by Short().
|
inlinestatic |
Definition at line 226 of file SpookyHashV2.h.
References Rot64().
Referenced by Short().
void folly::hash::SpookyHashV2::Update | ( | const void * | message, |
size_t | length | ||
) |
Definition at line 236 of file SpookyHashV2.cpp.
References folly::test::end(), i, folly::kHasUnalignedAccess, m_data, m_length, m_remainder, m_state, Mix(), prefix(), sc_blockSize, sc_bufSize, sc_const, sc_numVars, uint64_t, and uint8_t.
Referenced by folly::RecordIOReader::Iterator::advanceToValid(), Hash32(), and folly::IOBufHash::operator()().
|
private |
Definition at line 303 of file SpookyHashV2.h.
|
private |
Definition at line 305 of file SpookyHashV2.h.
|
private |
Definition at line 306 of file SpookyHashV2.h.
|
private |
Definition at line 304 of file SpookyHashV2.h.
|
staticprivate |
Definition at line 289 of file SpookyHashV2.h.
|
staticprivate |
Definition at line 292 of file SpookyHashV2.h.
|
staticprivate |
Definition at line 301 of file SpookyHashV2.h.
|
staticprivate |