74 return std::numeric_limits<int64_t>::max();
100 current_hash_ = original_hash_ + ((iteration_ * iteration_ + iteration_) >> 1);
106 return current_hash_;
141 hash_ = 5 * hash_ + 1 + perturb_;
177 hash_ = ((hash_ >> 16) ^ hash_) * 0x45d9f3b + perturb_;
180 hash_ = 5 * hash_ + 1;
217#define SLOT_PROBING_BEGIN(PROBING_STRATEGY, HASH, MASK, R_SLOT_INDEX) \
218 PROBING_STRATEGY probing_strategy(HASH); \
220 int64_t linear_offset = 0; \
221 uint64_t current_hash = probing_strategy.get(); \
223 int64_t R_SLOT_INDEX = int64_t((current_hash + uint64_t(linear_offset)) & MASK);
225#define SLOT_PROBING_END() \
226 } while (++linear_offset < probing_strategy.linear_steps()); \
227 probing_strategy.next(); \
unsigned long long int uint64_t
LinearProbingStrategy(const uint64_t hash)
int64_t linear_steps() const
PythonProbingStrategy(const uint64_t hash)
int64_t linear_steps() const
int64_t linear_steps() const
QuadraticProbingStrategy(const uint64_t hash)
int64_t linear_steps() const
ShuffleProbingStrategy(const uint64_t hash)
PythonProbingStrategy<> DefaultProbingStrategy