Joshua
open source statistical hierarchical phrase-based machine translation system
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
lm::ngram::trie::TrieSearch< Quant, Bhiksha > Class Template Reference

#include <search_trie.hh>

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

List of all members.

Public Types

typedef NodeRange Node
typedef ::lm::ngram::trie::Unigram Unigram
typedef trie::BitPackedMiddle
< typename Quant::Middle,
Bhiksha > 
Middle
typedef trie::BitPackedLongest
< typename Quant::Longest > 
Longest

Public Member Functions

 TrieSearch ()
 ~TrieSearch ()
uint8_t * SetupMemory (uint8_t *start, const std::vector< uint64_t > &counts, const Config &config)
void LoadedBinary ()
const MiddleMiddleBegin () const
const MiddleMiddleEnd () const
void InitializeFromARPA (const char *file, util::FilePiece &f, std::vector< uint64_t > &counts, const Config &config, SortedVocabulary &vocab, Backing &backing)
void LookupUnigram (WordIndex word, float &prob, float &backoff, Node &node) const
bool LookupMiddle (const Middle &mid, WordIndex word, float &prob, float &backoff, Node &node) const
bool LookupMiddleNoProb (const Middle &mid, WordIndex word, float &backoff, Node &node) const
bool LookupLongest (WordIndex word, float &prob, const Node &node) const
bool FastMakeNode (const WordIndex *begin, const WordIndex *end, Node &node) const

Static Public Member Functions

static void UpdateConfigFromBinary (int fd, const std::vector< uint64_t > &counts, Config &config)
static std::size_t Size (const std::vector< uint64_t > &counts, const Config &config)

Public Attributes

Unigram unigram
Longest longest

Static Public Attributes

static const ModelType kModelType = static_cast<ModelType>(TRIE_SORTED + Quant::kModelTypeAdd + Bhiksha::kModelTypeAdd)

Private Member Functions

void FreeMiddles ()

Private Attributes

Middlemiddle_begin_
Middlemiddle_end_
Quant quant_

Friends

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

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


Member Typedef Documentation

template<class Quant, class Bhiksha>
typedef trie::BitPackedLongest<typename Quant::Longest> lm::ngram::trie::TrieSearch< Quant, Bhiksha >::Longest
template<class Quant, class Bhiksha>
typedef trie::BitPackedMiddle<typename Quant::Middle, Bhiksha> lm::ngram::trie::TrieSearch< Quant, Bhiksha >::Middle
template<class Quant, class Bhiksha>
typedef NodeRange lm::ngram::trie::TrieSearch< Quant, Bhiksha >::Node
template<class Quant, class Bhiksha>
typedef ::lm::ngram::trie::Unigram lm::ngram::trie::TrieSearch< Quant, Bhiksha >::Unigram

Constructor & Destructor Documentation

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

Here is the call graph for this function:


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

Here is the call graph for this function:

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

Here is the caller graph for this function:

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,
Backing backing 
)

Here is the call graph for this function:

template<class Quant , class Bhiksha >
void lm::ngram::trie::TrieSearch< Quant, Bhiksha >::LoadedBinary ( )
template<class Quant, class Bhiksha>
bool lm::ngram::trie::TrieSearch< Quant, Bhiksha >::LookupLongest ( WordIndex  word,
float &  prob,
const Node node 
) const

Here is the call graph for this function:

template<class Quant, class Bhiksha>
bool lm::ngram::trie::TrieSearch< Quant, Bhiksha >::LookupMiddle ( const Middle mid,
WordIndex  word,
float &  prob,
float &  backoff,
Node node 
) const

Here is the call graph for this function:

template<class Quant, class Bhiksha>
bool lm::ngram::trie::TrieSearch< Quant, Bhiksha >::LookupMiddleNoProb ( const Middle mid,
WordIndex  word,
float &  backoff,
Node node 
) const

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Quant, class Bhiksha>
void lm::ngram::trie::TrieSearch< Quant, Bhiksha >::LookupUnigram ( WordIndex  word,
float &  prob,
float &  backoff,
Node node 
) const

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Quant, class Bhiksha>
const Middle* lm::ngram::trie::TrieSearch< Quant, Bhiksha >::MiddleBegin ( ) const
template<class Quant, class Bhiksha>
const Middle* lm::ngram::trie::TrieSearch< Quant, Bhiksha >::MiddleEnd ( ) const
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 
)

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:


Friends And Related Function Documentation

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

Member Data Documentation

template<class Quant, class Bhiksha>
const ModelType lm::ngram::trie::TrieSearch< Quant, Bhiksha >::kModelType = static_cast<ModelType>(TRIE_SORTED + Quant::kModelTypeAdd + Bhiksha::kModelTypeAdd) [static]
template<class Quant, class Bhiksha>
Longest lm::ngram::trie::TrieSearch< Quant, Bhiksha >::longest
template<class Quant, class Bhiksha>
Middle* lm::ngram::trie::TrieSearch< Quant, Bhiksha >::middle_begin_ [private]
template<class Quant, class Bhiksha>
Middle * lm::ngram::trie::TrieSearch< Quant, Bhiksha >::middle_end_ [private]
template<class Quant, class Bhiksha>
Quant lm::ngram::trie::TrieSearch< Quant, Bhiksha >::quant_ [private]
template<class Quant, class Bhiksha>
Unigram lm::ngram::trie::TrieSearch< Quant, Bhiksha >::unigram