Joshua
open source statistical hierarchical phrase-based machine translation system
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
src/kenlm/lm/model_type.hh
00001 #ifndef LM_MODEL_TYPE_H
00002 #define LM_MODEL_TYPE_H
00003 
00004 namespace lm {
00005 namespace ngram {
00006 
00007 /* Not the best numbering system, but it grew this way for historical reasons
00008  * and I want to preserve existing binary files. */
00009 typedef enum {PROBING=0, REST_PROBING=1, TRIE=2, QUANT_TRIE=3, ARRAY_TRIE=4, QUANT_ARRAY_TRIE=5} ModelType;
00010 
00011 // Historical names.
00012 const ModelType HASH_PROBING = PROBING;
00013 const ModelType TRIE_SORTED = TRIE;
00014 const ModelType QUANT_TRIE_SORTED = QUANT_TRIE;
00015 const ModelType ARRAY_TRIE_SORTED = ARRAY_TRIE;
00016 const ModelType QUANT_ARRAY_TRIE_SORTED = QUANT_ARRAY_TRIE;
00017 
00018 const static ModelType kQuantAdd = static_cast<ModelType>(QUANT_TRIE - TRIE);
00019 const static ModelType kArrayAdd = static_cast<ModelType>(ARRAY_TRIE - TRIE);
00020 
00021 } // namespace ngram
00022 } // namespace lm
00023 #endif // LM_MODEL_TYPE_H