tlx
SSClassifyTreeUnrollInterleave< key_type, TreeBits, Rollout > Class Template Reference

Sample Sort Classification Tree Unrolled and Interleaved. More...

#include <sample_sort_tools.hpp>

Public Member Functions

void build (key_type *samples, size_t samplesize, unsigned char *splitter_lcp)
 build tree and splitter array from sample More...
 
unsigned int find_bkt (const key_type &key) const
 binary search on splitter array for bucket number More...
 
void find_bkt_unroll (const key_type key[Rollout], uint16_t obkt[Rollout]) const
 search in splitter tree for bucket number, unrolled for Rollout keys at once. More...
 
template<typename StringSet >
void classify (const StringSet &strset, typename StringSet::Iterator begin, typename StringSet::Iterator end, uint16_t *bktout, size_t depth) const
 classify all strings in area by walking tree and saving bucket id More...
 
key_type get_splitter (unsigned int i) const
 return a splitter More...
 

Static Public Attributes

static const size_t treebits
 
static const size_t num_splitters
 

Private Attributes

key_type splitter_ [num_splitters]
 
key_type splitter_tree_ [num_splitters+1]
 

Detailed Description

template<typename key_type, size_t TreeBits, size_t Rollout = 4>
class tlx::sort_strings_detail::SSClassifyTreeUnrollInterleave< key_type, TreeBits, Rollout >

Sample Sort Classification Tree Unrolled and Interleaved.

Definition at line 336 of file sample_sort_tools.hpp.

Member Function Documentation

void build ( key_type *  samples,
size_t  samplesize,
unsigned char *  splitter_lcp 
)
inline

build tree and splitter array from sample

Definition at line 343 of file sample_sort_tools.hpp.

void classify ( const StringSet &  strset,
typename StringSet::Iterator  begin,
typename StringSet::Iterator  end,
uint16_t *  bktout,
size_t  depth 
) const
inline

classify all strings in area by walking tree and saving bucket id

Definition at line 441 of file sample_sort_tools.hpp.

unsigned int find_bkt ( const key_type &  key) const
inline

binary search on splitter array for bucket number

Definition at line 351 of file sample_sort_tools.hpp.

void find_bkt_unroll ( const key_type  key[Rollout],
uint16_t  obkt[Rollout] 
) const
inline

search in splitter tree for bucket number, unrolled for Rollout keys at once.

Definition at line 376 of file sample_sort_tools.hpp.

key_type get_splitter ( unsigned int  i) const
inline

return a splitter

Definition at line 466 of file sample_sort_tools.hpp.

Member Data Documentation

const size_t num_splitters
static

Definition at line 340 of file sample_sort_tools.hpp.

key_type splitter_[num_splitters]
private

Definition at line 470 of file sample_sort_tools.hpp.

key_type splitter_tree_[num_splitters+1]
private

Definition at line 471 of file sample_sort_tools.hpp.

const size_t treebits
static

Definition at line 339 of file sample_sort_tools.hpp.


The documentation for this class was generated from the following file: