tudocomp
– The TU Dortmund Compression Framework
tdc::esp Namespace Reference

Namespaces

 huff2
 

Classes

class  ArithmeticDecoder
 Decodes data from an Arithmetic character stream. More...
 
class  ArithmeticEncoder
 Encodes data to an ASCII character stream. More...
 
struct  Array
 
class  DArithmetic
 
class  DDiff
 
class  DebugContext
 
class  DebugContextBase
 
struct  DebugContextData
 
class  DebugMetablockContext
 
struct  DebugMetablockContextData
 
class  DebugPrint
 
class  DebugRoundContext
 
struct  DebugRoundContextData
 
class  DHuffman
 
class  DMonotonSubseq
 
struct  Dpi_and_b
 
class  DPlain
 
class  DRangeFit
 
class  DWaveletTree
 
class  DynamicSizeIPD
 
class  EspContext
 
class  FixedVector
 
class  GrammarRules
 
class  HashMapIPD
 
class  HuffmanDecoder
 Decodes data from an Huffman character stream. More...
 
class  HuffmanEncoder
 Encodes data to an ASCII character stream. More...
 
struct  IPDStats
 
class  L
 
class  LayersIterator
 
class  MetablockContext
 
class  PlainSLPCoder
 
struct  Point
 
struct  Round
 
struct  RoundContext
 
struct  SLP
 
struct  SLPRhsAdapter
 
class  SortedSLPCoder
 
class  StdUnorderedMapIPD
 
class  SubSeqGreedy
 
class  SubSeqOptimal
 
struct  TypedBlock
 
struct  WTIter
 

Typedefs

using in_t = BitPackingVectorSlice< dynamic_t >
 
using Sindex = size_t
 
using Link = size_t
 

Functions

bool needs_merge (const TypedBlock &a)
 
bool needs_merge (const TypedBlock &a, const TypedBlock &b)
 
size_t merge (TypedBlock &a, TypedBlock &b, size_t type)
 
void adjust_blocks (std::vector< TypedBlock > &blocks)
 
template<typename vec_t >
auto encode_unary_diff (vec_t &vec, BitOStream &out, const size_t bit_width, const size_t diff_bit_width, const bool sign, StatPhase &phase) -> uint64_t
 
template<typename vec_t >
void decode_unary_diff (vec_t &vec, BitIStream &in, const size_t bit_width, const size_t diff_bit_width, const bool sign)
 
size_t iter_log (size_t n)
 
uint64_t label (uint64_t left, uint64_t right)
 
template<size_t N, typename T >
bool operator== (const Array< N, T > &lhs, const Array< N, T > &rhs)
 
template<class T >
bool check_landmarks (const T &t, bool allow_long=false)
 
template<typename LmPred , typename SpanPush >
void landmark_spanner (size_t size, LmPred pred, SpanPush push, bool tie)
 
template<typename View >
std::vector< Sindexsorted_indices (const View &input)
 
bool operator== (const Point &a, const Point &b)
 
std::ostream & operator<< (std::ostream &o, const Point &a)
 
Point point_coord_if_at_index (Sindex self, size_t index)
 
size_t layers_A_search (ConstGenericView< size_t > searchA, size_t piy)
 
Point point_coord_for_link (ConstGenericView< Sindex > sindices, Link link, bool reverse)
 
template<typename SortedIndices , size_t tie_to_decreasing = false>
Dpi_and_b create_dpi_and_b_from_sorted_indices (const SortedIndices &sorted_indices)
 
template<typename SortedIndices , typename Dpi_t >
std::vector< size_t > create_dsigma_from_dpi_and_sorted_indices (const SortedIndices &sorted_indices, const Dpi_t &Dpi)
 
template<typename Dxx_t >
auto make_wt (const Dxx_t &v, size_t max_char) -> std::vector< IntVector< uint_t< 1 >>>
 
auto extract_from_wt (const std::vector< std::vector< size_t >> &node_sizes, const std::vector< IntVector< uint_t< 1 >>> &bvs, size_t size) -> std::vector< size_t >
 
auto recover_Dxx (const std::vector< IntVector< uint_t< 1 >>> &bvs, size_t size) -> std::vector< size_t >
 
template<typename Dxx_t , typename b_t , typename Bde_t , typename D_t >
auto recover_D_from_encoding (const Dxx_t &Dpi, const Dxx_t &Dsi, const b_t &b, const Bde_t &Bde, D_t *out)
 
template<typename Source , typename F >
size_t split_where (const Source &src, size_t i, bool max, F f)
 
void slp_dep_sort (SLP &slp)
 
bool operator== (const TypedBlock &a, const TypedBlock &b)
 
std::ostream & operator<< (std::ostream &o, const TypedBlock &b)
 
std::ostream & nice_block_lengths (GenericView< TypedBlock > tbs, std::ostream &o)
 
template<typename T >
std::ostream & operator<< (std::ostream &o, const DebugPrint< T > &d)
 
template<typename T >
DebugPrint< T > debug_p (ConstGenericView< T > v, size_t alpha)
 
template<class T >
uint64_t calc_alphabet_size (const T &t)
 
template<class T >
bool no_adjacent_identical (const T &t)
 
template<class T , class F >
void do_for_neighbors (T &t, F f)
 

Variables

size_t GRAMMAR_PD_ELLIDED_PREFIX = 256
 

Typedef Documentation

◆ in_t

using tdc::esp::in_t = typedef BitPackingVectorSlice<dynamic_t>

Definition at line 9 of file HashArray.hpp.

◆ Link

using tdc::esp::Link = typedef size_t

Definition at line 8 of file MonotoneSubsequences.hpp.

◆ Sindex

using tdc::esp::Sindex = typedef size_t

Definition at line 7 of file MonotoneSubsequences.hpp.

Function Documentation

◆ adjust_blocks()

void tdc::esp::adjust_blocks ( std::vector< TypedBlock > &  blocks)

Definition at line 39 of file BlockAdjust.hpp.

◆ calc_alphabet_size()

template<class T >
uint64_t tdc::esp::calc_alphabet_size ( const T &  t)

Definition at line 68 of file utils.hpp.

◆ check_landmarks()

template<class T >
bool tdc::esp::check_landmarks ( const T &  t,
bool  allow_long = false 
)

Definition at line 8 of file landmarks.hpp.

◆ create_dpi_and_b_from_sorted_indices()

template<typename SortedIndices , size_t tie_to_decreasing = false>
Dpi_and_b tdc::esp::create_dpi_and_b_from_sorted_indices ( const SortedIndices &  sorted_indices)
inline

Definition at line 437 of file MonotoneSubsequences.hpp.

◆ create_dsigma_from_dpi_and_sorted_indices()

template<typename SortedIndices , typename Dpi_t >
std::vector<size_t> tdc::esp::create_dsigma_from_dpi_and_sorted_indices ( const SortedIndices &  sorted_indices,
const Dpi_t &  Dpi 
)
inline

Definition at line 471 of file MonotoneSubsequences.hpp.

◆ debug_p()

template<typename T >
DebugPrint<T> tdc::esp::debug_p ( ConstGenericView< T >  v,
size_t  alpha 
)

Definition at line 61 of file utils.hpp.

◆ decode_unary_diff()

template<typename vec_t >
void tdc::esp::decode_unary_diff ( vec_t &  vec,
BitIStream in,
const size_t  bit_width,
const size_t  diff_bit_width,
const bool  sign 
)
inline

Definition at line 440 of file DRCoder.hpp.

◆ do_for_neighbors()

template<class T , class F >
void tdc::esp::do_for_neighbors ( T &  t,
f 
)

Definition at line 87 of file utils.hpp.

◆ encode_unary_diff()

template<typename vec_t >
auto tdc::esp::encode_unary_diff ( vec_t &  vec,
BitOStream out,
const size_t  bit_width,
const size_t  diff_bit_width,
const bool  sign,
StatPhase phase 
) -> uint64_t
inline

Definition at line 292 of file DRCoder.hpp.

◆ extract_from_wt()

auto tdc::esp::extract_from_wt ( const std::vector< std::vector< size_t >> &  node_sizes,
const std::vector< IntVector< uint_t< 1 >>> &  bvs,
size_t  size 
) -> std::vector<size_t>

Definition at line 581 of file MonotoneSubsequences.hpp.

◆ iter_log()

size_t tdc::esp::iter_log ( size_t  n)
inline

Definition at line 8 of file esp_math.hpp.

◆ label()

uint64_t tdc::esp::label ( uint64_t  left,
uint64_t  right 
)

Definition at line 16 of file esp_math.hpp.

◆ landmark_spanner()

template<typename LmPred , typename SpanPush >
void tdc::esp::landmark_spanner ( size_t  size,
LmPred  pred,
SpanPush  push,
bool  tie 
)

Definition at line 30 of file landmarks.hpp.

◆ layers_A_search()

size_t tdc::esp::layers_A_search ( ConstGenericView< size_t >  searchA,
size_t  piy 
)
inline

Definition at line 65 of file MonotoneSubsequences.hpp.

◆ make_wt()

template<typename Dxx_t >
auto tdc::esp::make_wt ( const Dxx_t &  v,
size_t  max_char 
) -> std::vector<IntVector<uint_t<1>>>

Definition at line 485 of file MonotoneSubsequences.hpp.

◆ merge()

size_t tdc::esp::merge ( TypedBlock a,
TypedBlock b,
size_t  type 
)

Definition at line 14 of file BlockAdjust.hpp.

◆ needs_merge() [1/2]

bool tdc::esp::needs_merge ( const TypedBlock a)

Definition at line 6 of file BlockAdjust.hpp.

◆ needs_merge() [2/2]

bool tdc::esp::needs_merge ( const TypedBlock a,
const TypedBlock b 
)

Definition at line 10 of file BlockAdjust.hpp.

◆ nice_block_lengths()

std::ostream& tdc::esp::nice_block_lengths ( GenericView< TypedBlock tbs,
std::ostream &  o 
)

Definition at line 16 of file utils.hpp.

◆ no_adjacent_identical()

template<class T >
bool tdc::esp::no_adjacent_identical ( const T &  t)

Definition at line 79 of file utils.hpp.

◆ operator<<() [1/3]

std::ostream& tdc::esp::operator<< ( std::ostream &  o,
const TypedBlock b 
)

Definition at line 14 of file TypedBlock.hpp.

◆ operator<<() [2/3]

std::ostream& tdc::esp::operator<< ( std::ostream &  o,
const Point a 
)
inline

Definition at line 36 of file MonotoneSubsequences.hpp.

◆ operator<<() [3/3]

template<typename T >
std::ostream& tdc::esp::operator<< ( std::ostream &  o,
const DebugPrint< T > &  d 
)
inline

Definition at line 48 of file utils.hpp.

◆ operator==() [1/3]

bool tdc::esp::operator== ( const TypedBlock a,
const TypedBlock b 
)

Definition at line 11 of file TypedBlock.hpp.

◆ operator==() [2/3]

bool tdc::esp::operator== ( const Point a,
const Point b 
)
inline

Definition at line 32 of file MonotoneSubsequences.hpp.

◆ operator==() [3/3]

template<size_t N, typename T >
bool tdc::esp::operator== ( const Array< N, T > &  lhs,
const Array< N, T > &  rhs 
)

Definition at line 35 of file HashArray.hpp.

◆ point_coord_for_link()

Point tdc::esp::point_coord_for_link ( ConstGenericView< Sindex sindices,
Link  link,
bool  reverse 
)
inline

Definition at line 82 of file MonotoneSubsequences.hpp.

◆ point_coord_if_at_index()

Point tdc::esp::point_coord_if_at_index ( Sindex  self,
size_t  index 
)
inline

Definition at line 40 of file MonotoneSubsequences.hpp.

◆ recover_D_from_encoding()

template<typename Dxx_t , typename b_t , typename Bde_t , typename D_t >
auto tdc::esp::recover_D_from_encoding ( const Dxx_t &  Dpi,
const Dxx_t &  Dsi,
const b_t &  b,
const Bde_t &  Bde,
D_t *  out 
)

Definition at line 698 of file MonotoneSubsequences.hpp.

◆ recover_Dxx()

auto tdc::esp::recover_Dxx ( const std::vector< IntVector< uint_t< 1 >>> &  bvs,
size_t  size 
) -> std::vector<size_t>

Definition at line 657 of file MonotoneSubsequences.hpp.

◆ slp_dep_sort()

void tdc::esp::slp_dep_sort ( SLP slp)
inline

Definition at line 7 of file SLPDepSort.hpp.

◆ sorted_indices()

template<typename View >
std::vector<Sindex> tdc::esp::sorted_indices ( const View input)
inline

Definition at line 11 of file MonotoneSubsequences.hpp.

◆ split_where()

template<typename Source , typename F >
size_t tdc::esp::split_where ( const Source &  src,
size_t  i,
bool  max,
f 
)
inline

Definition at line 7 of file RoundContextImpl.hpp.

Variable Documentation

◆ GRAMMAR_PD_ELLIDED_PREFIX

size_t tdc::esp::GRAMMAR_PD_ELLIDED_PREFIX = 256

Definition at line 10 of file SLP.hpp.