5#include <Common/primitive_type.h>
22template<
typename Integer>
27 std::size_t hashTableSize);
32template<
typename Integer>
36 std::size_t hashTableSize);
38template<std::
integral T>
45template<std::
floating_po
int T>
47 const TVector3<T>& point,
48 const TVector3<T>& cellSize,
49 std::size_t hashTableSize);
84template<
typename T,
typename BitMixerType = Murmur3BitMixer32>
95template<
typename T,
typename BitMixerType>
99 BitMixerType&& bitMixer,
Math functions and utilities.
Definition TransformInfo.h:10
uint64 murmur3_bit_mix_64(uint64 v)
MurmurHash3's bit mixer. 64-bit version.
Definition hash.ipp:82
uint32 permuted_index(uint32 i, uint32 l, uint32 p)
Get the permuted index or value in O(1) space and O(1) time.
Definition hash.ipp:206
uint64 moremur_bit_mix_64(uint64 v)
A MurmurHash3-style bit mixer that outperforms the original by quite some margin. 64-bit version.
Definition hash.ipp:104
uint32 murmur3_bit_mix_32(uint32 v)
MurmurHash3's bit mixer. 32-bit version.
Definition hash.ipp:71
uint64 murmur3_v13_bit_mix_64(uint64 v)
MurmurHash3's bit mixer. 64-bit version.
Definition hash.ipp:93
uint32 murmur3_32(const T &data, uint32 seed)
Generate 32-bit hash values using MurmurHash3. Note that there are no collisions when T has <= 32 bit...
Definition hash.ipp:119
std::size_t discrete_spatial_hash(Integer x, Integer y, Integer z, std::size_t hashTableSize)
Definition hash.ipp:19
uint32 operator()(const uint32 v) const
Definition hash.h:73