proxygen
|
#include <SlowFingerprint.h>
Public Member Functions | |
SlowFingerprint () | |
SlowFingerprint & | update8 (uint8_t v) |
SlowFingerprint & | update32 (uint32_t v) |
SlowFingerprint & | update64 (uint64_t v) |
SlowFingerprint & | update (const folly::StringPiece str) |
void | write (uint64_t *out) const |
Private Member Functions | |
void | updateBit (bool bit) |
void | updateLSB (uint64_t val, int bits) |
Private Attributes | |
const FingerprintPolynomial< BITS-1 > | poly_ |
FingerprintPolynomial< BITS-1 > | fp_ |
Slow, one-bit-at-a-time implementation of the Rabin fingerprint.
This is useful as a reference implementation to test the Broder optimization for correctness in the unittest; it's probably too slow for any real use.
Definition at line 33 of file SlowFingerprint.h.
|
inline |
Definition at line 35 of file SlowFingerprint.h.
References folly::detail::FingerprintPolynomial< DEG >::addXk(), and folly::detail::SlowFingerprint< BITS >::fp_.
|
inline |
Definition at line 55 of file SlowFingerprint.h.
References i, folly::Range< Iter >::size(), folly::Range< Iter >::start(), and folly::detail::SlowFingerprint< BITS >::update8().
|
inline |
Definition at line 45 of file SlowFingerprint.h.
References folly::detail::SlowFingerprint< BITS >::updateLSB().
|
inline |
Definition at line 50 of file SlowFingerprint.h.
References folly::detail::SlowFingerprint< BITS >::updateLSB().
Referenced by TEST().
|
inline |
Definition at line 40 of file SlowFingerprint.h.
References folly::detail::SlowFingerprint< BITS >::updateLSB().
Referenced by folly::detail::SlowFingerprint< BITS >::update().
|
inlineprivate |
Definition at line 70 of file SlowFingerprint.h.
References folly::detail::FingerprintPolynomial< DEG >::addXk(), folly::detail::SlowFingerprint< BITS >::fp_, folly::detail::FingerprintPolynomial< DEG >::mulXmod(), and folly::detail::SlowFingerprint< BITS >::poly_.
Referenced by folly::detail::SlowFingerprint< BITS >::updateLSB().
|
inlineprivate |
Definition at line 77 of file SlowFingerprint.h.
References folly::detail::SlowFingerprint< BITS >::updateBit().
Referenced by folly::detail::SlowFingerprint< BITS >::update32(), folly::detail::SlowFingerprint< BITS >::update64(), and folly::detail::SlowFingerprint< BITS >::update8().
|
inline |
Definition at line 63 of file SlowFingerprint.h.
References folly::detail::SlowFingerprint< BITS >::fp_, folly::detail::FingerprintPolynomial< DEG >::get(), i, and folly::detail::FingerprintPolynomial< DEG >::size().
Referenced by TEST().
|
private |
Definition at line 86 of file SlowFingerprint.h.
Referenced by folly::detail::SlowFingerprint< BITS >::SlowFingerprint(), folly::detail::SlowFingerprint< BITS >::updateBit(), and folly::detail::SlowFingerprint< BITS >::write().
|
private |
Definition at line 85 of file SlowFingerprint.h.
Referenced by folly::detail::SlowFingerprint< BITS >::updateBit().