double hashing scheme: \(hash(k,i) = h_1(k)+i\cdot h_2(k)\) More...
Public Types | |
using | key_type = typename Hasher1::key_type |
using | index_type = index_t |
using | tag = typename std::conditional< checks::is_true_permutation_hasher< Hasher1 >() &&checks::is_true_permutation_hasher< Hasher2 >(), tags::cycle_free_probing_scheme, tags::probing_scheme >::type |
Public Member Functions | |
__device__ | DoubleHashing (index_type capacity, index_type probing_length, const cg::thread_block_tile< CGSize > &group) |
constructor More... | |
template<class T > | |
__device__ index_type | begin (T, T)=delete |
template<class T > | |
__device__ index_type | begin (T)=delete |
__device__ index_type | begin (key_type key, key_type seed=0) noexcept |
begin probing sequence More... | |
__device__ index_type | next () noexcept |
next probing index for key More... | |
Static Public Member Functions | |
static constexpr __host____device__ index_type | cg_size () noexcept |
get cooperative group size More... | |
static constexpr __device__ index_type | end () noexcept |
end specifier of probing sequence More... | |
double hashing scheme: \(hash(k,i) = h_1(k)+i\cdot h_2(k)\)
Hasher1 | first hash function |
Hasher1 | second hash function |
CGSize | cooperative group size |
Definition at line 23 of file probing_schemes.cuh.
using warpcore::probing_schemes::DoubleHashing< Hasher1, Hasher2, CGSize >::index_type = index_t |
Definition at line 37 of file probing_schemes.cuh.
using warpcore::probing_schemes::DoubleHashing< Hasher1, Hasher2, CGSize >::key_type = typename Hasher1::key_type |
Definition at line 36 of file probing_schemes.cuh.
using warpcore::probing_schemes::DoubleHashing< Hasher1, Hasher2, CGSize >::tag = typename std::conditional< checks::is_true_permutation_hasher<Hasher1>() && checks::is_true_permutation_hasher<Hasher2>(), tags::cycle_free_probing_scheme, tags::probing_scheme>::type |
Definition at line 38 of file probing_schemes.cuh.
|
inlineexplicit |
constructor
[in] | capacity | capacity of the underlying hash table |
[in] | probing_length | number of probing attempts |
[in] | group | cooperative group |
Definition at line 56 of file probing_schemes.cuh.
|
inlinenoexcept |
begin probing sequence
[in] | key | key to be probed |
[in] | seed | random seed |
key
Definition at line 79 of file probing_schemes.cuh.
|
inlinedelete |
|
inlinedelete |
|
inlinestaticconstexprnoexcept |
get cooperative group size
Definition at line 48 of file probing_schemes.cuh.
|
inlinestaticconstexprnoexcept |
end specifier of probing sequence
Definition at line 106 of file probing_schemes.cuh.
|
inlinenoexcept |
next probing index for key
key
Definition at line 94 of file probing_schemes.cuh.