|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once |
|
|
|
#include <cstdint> |
|
|
|
#include "parquet/hasher.h" |
|
#include "parquet/platform.h" |
|
#include "parquet/types.h" |
|
|
|
namespace parquet { |
|
|
|
class PARQUET_EXPORT XxHasher : public Hasher { |
|
public: |
|
uint64_t Hash(int32_t value) const override; |
|
uint64_t Hash(int64_t value) const override; |
|
uint64_t Hash(float value) const override; |
|
uint64_t Hash(double value) const override; |
|
uint64_t Hash(const Int96* value) const override; |
|
uint64_t Hash(const ByteArray* value) const override; |
|
uint64_t Hash(const FLBA* val, uint32_t len) const override; |
|
|
|
void Hashes(const int32_t* values, int num_values, uint64_t* hashes) const override; |
|
void Hashes(const int64_t* values, int num_values, uint64_t* hashes) const override; |
|
void Hashes(const float* values, int num_values, uint64_t* hashes) const override; |
|
void Hashes(const double* values, int num_values, uint64_t* hashes) const override; |
|
void Hashes(const Int96* values, int num_values, uint64_t* hashes) const override; |
|
void Hashes(const ByteArray* values, int num_values, uint64_t* hashes) const override; |
|
void Hashes(const FLBA* values, uint32_t type_len, int num_values, |
|
uint64_t* hashes) const override; |
|
|
|
static constexpr int kParquetBloomXxHashSeed = 0; |
|
}; |
|
|
|
} |
|
|