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: