Sux
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
sux::function::SplittingStrategy< LEAF_SIZE > Class Template Reference

#include <RecSplit.hpp>

Classes

class  split_iterator
 

Public Member Functions

 SplittingStrategy (size_t m)
 
split_iterator begin ()
 
split_iterator end ()
 
size_t fanout ()
 

Static Public Member Functions

static constexpr void split_params (const size_t m, size_t &fanout, size_t &unit)
 

Static Public Attributes

static constexpr size_t lower_aggr = _leaf * max(2, ceil(0.35 * _leaf + 1. / 2))
 
static constexpr size_t upper_aggr = lower_aggr * (_leaf < 7 ? 2 : ceil(0.21 * _leaf + 9. / 10))
 

Detailed Description

template<size_t LEAF_SIZE>
class sux::function::SplittingStrategy< LEAF_SIZE >

A class emboding the splitting strategy of RecSplit.

Note that this class is used for statistics only. The splitting strategy is embedded into the generation code, which uses only the public fields SplittingStrategy::lower_aggr and SplittingStrategy::upper_aggr.

Constructor & Destructor Documentation

◆ SplittingStrategy()

template<size_t LEAF_SIZE>
sux::function::SplittingStrategy< LEAF_SIZE >::SplittingStrategy ( size_t  m)
inlineexplicit

Member Function Documentation

◆ begin()

template<size_t LEAF_SIZE>
split_iterator sux::function::SplittingStrategy< LEAF_SIZE >::begin ( )
inline

◆ end()

template<size_t LEAF_SIZE>
split_iterator sux::function::SplittingStrategy< LEAF_SIZE >::end ( )
inline

◆ fanout()

template<size_t LEAF_SIZE>
size_t sux::function::SplittingStrategy< LEAF_SIZE >::fanout ( )
inline

◆ split_params()

template<size_t LEAF_SIZE>
static constexpr void sux::function::SplittingStrategy< LEAF_SIZE >::split_params ( const size_t  m,
size_t &  fanout,
size_t &  unit 
)
inlinestaticconstexpr

Member Data Documentation

◆ lower_aggr

template<size_t LEAF_SIZE>
constexpr size_t sux::function::SplittingStrategy< LEAF_SIZE >::lower_aggr = _leaf * max(2, ceil(0.35 * _leaf + 1. / 2))
staticconstexpr

The lower bound for primary (lower) key aggregation.

◆ upper_aggr

template<size_t LEAF_SIZE>
constexpr size_t sux::function::SplittingStrategy< LEAF_SIZE >::upper_aggr = lower_aggr * (_leaf < 7 ? 2 : ceil(0.21 * _leaf + 9. / 10))
staticconstexpr

The lower bound for secondary (upper) key aggregation.


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