diff options
author | Hieu Hoang <hieuhoang@gmail.com> | 2016-06-28 12:46:51 +0300 |
---|---|---|
committer | Hieu Hoang <hieuhoang@gmail.com> | 2016-06-28 12:46:51 +0300 |
commit | ad240a9f5b13c807e3e5dbe3a6d51f4e40e5ad53 (patch) | |
tree | 2ae54a0047db3d6731782f4a664e5bb558705582 /OnDiskPt | |
parent | cef30724d5fc48c0a4258cf67c95f22912603b00 (diff) |
move Moses classes out of OnDiskPt - Word
Diffstat (limited to 'OnDiskPt')
-rw-r--r-- | OnDiskPt/Word.cpp | 25 | ||||
-rw-r--r-- | OnDiskPt/Word.h | 11 |
2 files changed, 5 insertions, 31 deletions
diff --git a/OnDiskPt/Word.cpp b/OnDiskPt/Word.cpp index a68accb34..9ad6bea72 100644 --- a/OnDiskPt/Word.cpp +++ b/OnDiskPt/Word.cpp @@ -19,9 +19,7 @@ ***********************************************************************/ #include <boost/algorithm/string/predicate.hpp> -#include "moses/FactorCollection.h" #include "moses/Util.h" -#include "moses/Word.h" #include "Word.h" #include "util/tokenize_piece.hh" @@ -98,29 +96,6 @@ size_t Word::ReadFromFile(std::fstream &file) return memAlloc; } -void Word::ConvertToMoses( - const std::vector<Moses::FactorType> &outputFactorsVec, - const Vocab &vocab, - Moses::Word &overwrite) const -{ - Moses::FactorCollection &factorColl = Moses::FactorCollection::Instance(); - overwrite = Moses::Word(m_isNonTerminal); - - if (m_isNonTerminal) { - const std::string &tok = vocab.GetString(m_vocabId); - overwrite.SetFactor(0, factorColl.AddFactor(tok, m_isNonTerminal)); - } else { - // TODO: this conversion should have been done at load time. - util::TokenIter<util::SingleCharacter> tok(vocab.GetString(m_vocabId), '|'); - - for (std::vector<Moses::FactorType>::const_iterator t = outputFactorsVec.begin(); t != outputFactorsVec.end(); ++t, ++tok) { - UTIL_THROW_IF2(!tok, "Too few factors in \"" << vocab.GetString(m_vocabId) << "\"; was expecting " << outputFactorsVec.size()); - overwrite.SetFactor(*t, factorColl.AddFactor(*tok, m_isNonTerminal)); - } - UTIL_THROW_IF2(tok, "Too many factors in \"" << vocab.GetString(m_vocabId) << "\"; was expecting " << outputFactorsVec.size()); - } -} - int Word::Compare(const Word &compare) const { int ret; diff --git a/OnDiskPt/Word.h b/OnDiskPt/Word.h index 39ebf336b..f5cbf39a8 100644 --- a/OnDiskPt/Word.h +++ b/OnDiskPt/Word.h @@ -67,14 +67,13 @@ public: size_t ReadFromMemory(const char *mem); size_t ReadFromFile(std::fstream &file); - void SetVocabId(uint32_t vocabId) { - m_vocabId = vocabId; + uint64_t GetVocabId() const { + return m_vocabId; } - void ConvertToMoses( - const std::vector<Moses::FactorType> &outputFactorsVec, - const Vocab &vocab, - Moses::Word &overwrite) const; + void SetVocabId(uint64_t vocabId) { + m_vocabId = vocabId; + } void DebugPrint(std::ostream &out, const Vocab &vocab) const; inline const std::string &GetString(const Vocab &vocab) const { |