![]() |
Signet Forge 0.1.0
C++20 Parquet library with AI-native extensions
|
DEMO |
Header-only xxHash64 implementation for Signet Forge. More...
#include <cstdint>#include <cstring>#include <string>#include <type_traits>Go to the source code of this file.
Namespaces | |
| namespace | signet |
| namespace | signet::forge |
| namespace | signet::forge::xxhash |
| xxHash64 hashing functions for Parquet bloom filter support. | |
| namespace | signet::forge::xxhash::detail |
| Implementation details – not part of the public API. | |
Functions | |
| constexpr uint64_t | signet::forge::xxhash::detail::rotl64 (uint64_t v, int r) |
Rotate v left by r bits (circular shift). | |
| uint64_t | signet::forge::xxhash::detail::read_u64_le (const uint8_t *p) |
| Read a little-endian uint64_t from potentially unaligned memory. | |
| uint32_t | signet::forge::xxhash::detail::read_u32_le (const uint8_t *p) |
| Read a little-endian uint32_t from potentially unaligned memory. | |
| constexpr uint64_t | signet::forge::xxhash::detail::round (uint64_t acc, uint64_t lane) |
| Round function: accumulate one 8-byte lane into an accumulator. | |
| constexpr uint64_t | signet::forge::xxhash::detail::merge_accumulator (uint64_t acc, uint64_t v) |
| Merge an accumulator value into the converged accumulator. | |
| constexpr uint64_t | signet::forge::xxhash::detail::avalanche (uint64_t h) |
| Avalanche / finalization mix to ensure all output bits are well-distributed. | |
| uint64_t | signet::forge::xxhash::hash64 (const void *data, size_t length, uint64_t seed=0) |
| Compute xxHash64 of an arbitrary byte buffer. | |
| uint64_t | signet::forge::xxhash::hash64 (const std::string &s, uint64_t seed=0) |
| Convenience overload: hash a std::string. | |
| template<typename T > | |
| uint64_t | signet::forge::xxhash::hash64_value (const T &val, uint64_t seed=0) |
| Convenience overload: hash a trivially-copyable typed value. | |
Header-only xxHash64 implementation for Signet Forge.
Implements the xxHash64 algorithm as specified at: https://github.com/Cyan4973/xxHash/blob/dev/doc/xxhash_spec.md
Used by the SplitBlockBloomFilter for hashing column values. All arithmetic is unsigned 64-bit with natural overflow (mod 2^64).
The public API provides three entry points:
Definition in file xxhash.hpp.