lm::ngram::trie::TrieSearch< Quant, Bhiksha > Class Template Reference

#include <search_trie.hh>

Collaboration diagram for lm::ngram::trie::TrieSearch< Quant, Bhiksha >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef NodeRange Node
typedef
::lm::ngram::trie::UnigramPointer 
UnigramPointer
typedef Quant::MiddlePointer MiddlePointer
typedef Quant::LongestPointer LongestPointer

Public Member Functions

 TrieSearch ()
 ~TrieSearch ()
uint8_t * SetupMemory (uint8_t *start, const std::vector< uint64_t > &counts, const Config &config)
void InitializeFromARPA (const char *file, util::FilePiece &f, std::vector< uint64_t > &counts, const Config &config, SortedVocabulary &vocab, BinaryFormat &backing)
unsigned char Order () const
ProbBackoffUnknownUnigram ()
UnigramPointer LookupUnigram (WordIndex word, Node &next, bool &independent_left, uint64_t &extend_left) const
MiddlePointer Unpack (uint64_t extend_pointer, unsigned char extend_length, Node &node) const
MiddlePointer LookupMiddle (unsigned char order_minus_2, WordIndex word, Node &node, bool &independent_left, uint64_t &extend_left) const
LongestPointer LookupLongest (WordIndex word, const Node &node) const
bool FastMakeNode (const WordIndex *begin, const WordIndex *end, Node &node) const

Static Public Member Functions

static void UpdateConfigFromBinary (const BinaryFormat &file, const std::vector< uint64_t > &counts, uint64_t offset, Config &config)
static uint64_t Size (const std::vector< uint64_t > &counts, const Config &config)

Static Public Attributes

static const bool kDifferentRest = false
static const ModelType kModelType = static_cast<ModelType>(TRIE_SORTED + Quant::kModelTypeAdd + Bhiksha::kModelTypeAdd)
static const unsigned int kVersion = 1

Friends

void BuildTrie (SortedFiles &files, std::vector< uint64_t > &counts, const Config &config, TrieSearch< Quant, Bhiksha > &out, Quant &quant, SortedVocabulary &vocab, BinaryFormat &backing)


Detailed Description

template<class Quant, class Bhiksha>
class lm::ngram::trie::TrieSearch< Quant, Bhiksha >

Definition at line 27 of file search_trie.hh.


Member Typedef Documentation

template<class Quant, class Bhiksha>
typedef Quant::LongestPointer lm::ngram::trie::TrieSearch< Quant, Bhiksha >::LongestPointer

Definition at line 33 of file search_trie.hh.

template<class Quant, class Bhiksha>
typedef Quant::MiddlePointer lm::ngram::trie::TrieSearch< Quant, Bhiksha >::MiddlePointer

Definition at line 32 of file search_trie.hh.

template<class Quant, class Bhiksha>
typedef NodeRange lm::ngram::trie::TrieSearch< Quant, Bhiksha >::Node

Definition at line 29 of file search_trie.hh.

template<class Quant, class Bhiksha>
typedef ::lm::ngram::trie::UnigramPointer lm::ngram::trie::TrieSearch< Quant, Bhiksha >::UnigramPointer

Definition at line 31 of file search_trie.hh.


Constructor & Destructor Documentation

template<class Quant, class Bhiksha>
lm::ngram::trie::TrieSearch< Quant, Bhiksha >::TrieSearch (  )  [inline]

Definition at line 56 of file search_trie.hh.

template<class Quant, class Bhiksha>
lm::ngram::trie::TrieSearch< Quant, Bhiksha >::~TrieSearch (  )  [inline]

Definition at line 58 of file search_trie.hh.


Member Function Documentation

template<class Quant, class Bhiksha>
bool lm::ngram::trie::TrieSearch< Quant, Bhiksha >::FastMakeNode ( const WordIndex begin,
const WordIndex end,
Node node 
) const [inline]

template<class Quant , class Bhiksha >
void lm::ngram::trie::TrieSearch< Quant, Bhiksha >::InitializeFromARPA ( const char *  file,
util::FilePiece f,
std::vector< uint64_t > &  counts,
const Config config,
SortedVocabulary vocab,
BinaryFormat backing 
) [inline]

template<class Quant, class Bhiksha>
LongestPointer lm::ngram::trie::TrieSearch< Quant, Bhiksha >::LookupLongest ( WordIndex  word,
const Node node 
) const [inline]

Definition at line 87 of file search_trie.hh.

References lm::ngram::trie::BitPackedLongest::Find().

Here is the call graph for this function:

template<class Quant, class Bhiksha>
MiddlePointer lm::ngram::trie::TrieSearch< Quant, Bhiksha >::LookupMiddle ( unsigned char  order_minus_2,
WordIndex  word,
Node node,
bool &  independent_left,
uint64_t &  extend_left 
) const [inline]

Definition at line 81 of file search_trie.hh.

References util::BitAddress::base, lm::ngram::trie::NodeRange::begin, lm::ngram::trie::NodeRange::end, and NULL.

Referenced by lm::ngram::trie::TrieSearch< Quant, Bhiksha >::FastMakeNode().

Here is the caller graph for this function:

template<class Quant, class Bhiksha>
UnigramPointer lm::ngram::trie::TrieSearch< Quant, Bhiksha >::LookupUnigram ( WordIndex  word,
Node next,
bool &  independent_left,
uint64_t &  extend_left 
) const [inline]

Definition at line 70 of file search_trie.hh.

References lm::ngram::trie::NodeRange::begin, lm::ngram::trie::NodeRange::end, and lm::ngram::trie::Unigram::Find().

Referenced by lm::ngram::trie::TrieSearch< Quant, Bhiksha >::FastMakeNode().

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Quant, class Bhiksha>
unsigned char lm::ngram::trie::TrieSearch< Quant, Bhiksha >::Order (  )  const [inline]

Definition at line 64 of file search_trie.hh.

template<class Quant , class Bhiksha >
uint8_t * lm::ngram::trie::TrieSearch< Quant, Bhiksha >::SetupMemory ( uint8_t *  start,
const std::vector< uint64_t > &  counts,
const Config config 
) [inline]

template<class Quant, class Bhiksha>
static uint64_t lm::ngram::trie::TrieSearch< Quant, Bhiksha >::Size ( const std::vector< uint64_t > &  counts,
const Config config 
) [inline, static]

Definition at line 48 of file search_trie.hh.

References lm::ngram::trie::BitPackedLongest::Size(), lm::ngram::trie::BitPackedMiddle< Bhiksha >::Size(), and lm::ngram::trie::Unigram::Size().

Referenced by lm::ngram::trie::TrieSearch< Quant, Bhiksha >::SetupMemory().

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Quant, class Bhiksha>
ProbBackoff& lm::ngram::trie::TrieSearch< Quant, Bhiksha >::UnknownUnigram (  )  [inline]

Definition at line 68 of file search_trie.hh.

References lm::ngram::trie::Unigram::Unknown().

Here is the call graph for this function:

template<class Quant, class Bhiksha>
MiddlePointer lm::ngram::trie::TrieSearch< Quant, Bhiksha >::Unpack ( uint64_t  extend_pointer,
unsigned char  extend_length,
Node node 
) const [inline]

Definition at line 77 of file search_trie.hh.

template<class Quant, class Bhiksha>
static void lm::ngram::trie::TrieSearch< Quant, Bhiksha >::UpdateConfigFromBinary ( const BinaryFormat file,
const std::vector< uint64_t > &  counts,
uint64_t  offset,
Config config 
) [inline, static]

Definition at line 41 of file search_trie.hh.

References lm::ngram::trie::Unigram::Size().

Here is the call graph for this function:


Friends And Related Function Documentation

template<class Quant, class Bhiksha>
void BuildTrie ( SortedFiles files,
std::vector< uint64_t > &  counts,
const Config config,
TrieSearch< Quant, Bhiksha > &  out,
Quant &  quant,
SortedVocabulary vocab,
BinaryFormat backing 
) [friend]


Member Data Documentation

template<class Quant, class Bhiksha>
const bool lm::ngram::trie::TrieSearch< Quant, Bhiksha >::kDifferentRest = false [static]

Definition at line 35 of file search_trie.hh.

template<class Quant, class Bhiksha>
const ModelType lm::ngram::trie::TrieSearch< Quant, Bhiksha >::kModelType = static_cast<ModelType>(TRIE_SORTED + Quant::kModelTypeAdd + Bhiksha::kModelTypeAdd) [static]

Definition at line 37 of file search_trie.hh.

template<class Quant, class Bhiksha>
const unsigned int lm::ngram::trie::TrieSearch< Quant, Bhiksha >::kVersion = 1 [static]

Definition at line 39 of file search_trie.hh.


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

Generated on Thu Jul 6 00:32:47 2017 for Moses by  doxygen 1.5.9