Sample Sort Classification Tree Unrolled, Interleaved, and with Perfect Tree Index Calculations.
More...
#include <sample_sort_tools.hpp>
|
void | build (key_type *samples, size_t samplesize, unsigned char *splitter_lcp) |
| build tree and splitter array from sample
|
|
unsigned int | find_bkt (const key_type &key) const |
| binary search on splitter array for bucket number
|
|
void | find_bkt_unroll (const key_type key[Rollout], std::uint16_t obkt[Rollout]) const |
| search in splitter tree for bucket number, unrolled for Rollout keys at once.
|
|
template<typename StringSet > |
void | classify (const StringSet &strset, typename StringSet::Iterator begin, typename StringSet::Iterator end, std::uint16_t *bktout, size_t depth) const |
| classify all strings in area by walking tree and saving bucket id
|
|
key_type | get_splitter (unsigned int i) const |
| return a splitter
|
|
template<typename key_type, size_t TreeBits, unsigned Rollout = 4>
class tlx::sort_strings_detail::SSClassifyTreeCalcUnrollInterleave< key_type, TreeBits, Rollout >
Sample Sort Classification Tree Unrolled, Interleaved, and with Perfect Tree Index Calculations.
Definition at line 577 of file sample_sort_tools.hpp.
◆ build()
template<typename key_type , size_t TreeBits, unsigned Rollout = 4>
void build |
( |
key_type * | samples, |
|
|
size_t | samplesize, |
|
|
unsigned char * | splitter_lcp ) |
|
inline |
◆ classify()
template<typename key_type , size_t TreeBits, unsigned Rollout = 4>
template<typename StringSet >
void classify |
( |
const StringSet & | strset, |
|
|
typename StringSet::Iterator | begin, |
|
|
typename StringSet::Iterator | end, |
|
|
std::uint16_t * | bktout, |
|
|
size_t | depth ) const |
|
inline |
◆ find_bkt()
template<typename key_type , size_t TreeBits, unsigned Rollout = 4>
unsigned int find_bkt |
( |
const key_type & | key | ) |
const |
|
inline |
◆ find_bkt_unroll()
template<typename key_type , size_t TreeBits, unsigned Rollout = 4>
void find_bkt_unroll |
( |
const key_type | key[Rollout], |
|
|
std::uint16_t | obkt[Rollout] ) const |
|
inline |
search in splitter tree for bucket number, unrolled for Rollout keys at once.
Definition at line 622 of file sample_sort_tools.hpp.
◆ get_splitter()
template<typename key_type , size_t TreeBits, unsigned Rollout = 4>
key_type get_splitter |
( |
unsigned int | i | ) |
const |
|
inline |
◆ num_splitters
template<typename key_type , size_t TreeBits, unsigned Rollout = 4>
const size_t num_splitters |
|
static |
◆ splitter_tree_
template<typename key_type , size_t TreeBits, unsigned Rollout = 4>
◆ treebits
template<typename key_type , size_t TreeBits, unsigned Rollout = 4>
The documentation for this class was generated from the following file: