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

Contains compressors and encoders that work with Lempel-Ziv-78-like dictionaries. More...

Namespaces

 cedar
 

Classes

class  BinarySortedTrie
 
class  BinaryTrie
 
class  CedarTrie
 
class  CompactSparseHashTrie
 
class  Decompressor
 
class  ExtHashTrie
 
class  HashTrie
 
class  HashTriePlus
 
class  LZ78Trie
 
class  LZ78TrieNode
 Default return type of find_or_insert. More...
 
class  Randomizer
 
class  RollingTrie
 
class  RollingTriePlus
 
class  TernaryTrie
 LZ78 Trie Implementation based on Julius Pettersson (MIT/Expat License.) and Juha Nieminen's work. More...
 

Typedefs

using factorid_t = uint32_t
 Type for the factor indices, bounded by the number of LZ78 trie nodes. More...
 
typedef uint_t< 40 > squeeze_node_t
 

Functions

factorid_t get_id (squeeze_node_t data)
 
uliteral_t get_letter (squeeze_node_t data)
 
squeeze_node_t create_node (factorid_t id, uliteral_t c)
 

Variables

constexpr factorid_t undef_id = std::numeric_limits<factorid_t>::max()
 Id that can be used for a non-existing factor. More...
 
constexpr size_t DMS_MAX = std::numeric_limits<factorid_t>::max()
 Maximum legal dictionary size. More...
 

Detailed Description

Contains compressors and encoders that work with Lempel-Ziv-78-like dictionaries.

The LZ78 family works with bottom-up dictionaries containing indexed entries to achieve compression. Each entry points to a prefix (another dictionary entry) and a follow-up symbol.

Typedef Documentation

◆ factorid_t

using tdc::lz78::factorid_t = typedef uint32_t

Type for the factor indices, bounded by the number of LZ78 trie nodes.

Definition at line 11 of file LZ78Trie.hpp.

◆ squeeze_node_t

Definition at line 10 of file squeeze_node.hpp.

Function Documentation

◆ create_node()

squeeze_node_t tdc::lz78::create_node ( factorid_t  id,
uliteral_t  c 
)
inline

Definition at line 28 of file squeeze_node.hpp.

◆ get_id()

factorid_t tdc::lz78::get_id ( squeeze_node_t  data)
inline

Definition at line 22 of file squeeze_node.hpp.

◆ get_letter()

uliteral_t tdc::lz78::get_letter ( squeeze_node_t  data)
inline

Definition at line 25 of file squeeze_node.hpp.

Variable Documentation

◆ DMS_MAX

constexpr size_t tdc::lz78::DMS_MAX = std::numeric_limits<factorid_t>::max()

Maximum legal dictionary size.

Definition at line 17 of file LZ78Trie.hpp.

◆ undef_id

constexpr factorid_t tdc::lz78::undef_id = std::numeric_limits<factorid_t>::max()

Id that can be used for a non-existing factor.

Definition at line 14 of file LZ78Trie.hpp.