File indexing completed on 2026-04-17 08:28:55
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #pragma once
0019
0020 #include <cstdint>
0021
0022 #include "parquet/hasher.h"
0023 #include "parquet/platform.h"
0024 #include "parquet/types.h"
0025
0026 namespace parquet {
0027
0028 class PARQUET_EXPORT XxHasher : public Hasher {
0029 public:
0030 uint64_t Hash(int32_t value) const override;
0031 uint64_t Hash(int64_t value) const override;
0032 uint64_t Hash(float value) const override;
0033 uint64_t Hash(double value) const override;
0034 uint64_t Hash(const Int96* value) const override;
0035 uint64_t Hash(const ByteArray* value) const override;
0036 uint64_t Hash(const FLBA* val, uint32_t len) const override;
0037
0038 void Hashes(const int32_t* values, int num_values, uint64_t* hashes) const override;
0039 void Hashes(const int64_t* values, int num_values, uint64_t* hashes) const override;
0040 void Hashes(const float* values, int num_values, uint64_t* hashes) const override;
0041 void Hashes(const double* values, int num_values, uint64_t* hashes) const override;
0042 void Hashes(const Int96* values, int num_values, uint64_t* hashes) const override;
0043 void Hashes(const ByteArray* values, int num_values, uint64_t* hashes) const override;
0044 void Hashes(const FLBA* values, uint32_t type_len, int num_values,
0045 uint64_t* hashes) const override;
0046
0047 static constexpr int kParquetBloomXxHashSeed = 0;
0048 };
0049
0050 }