From 31360e70ef802c23ff6544d5c8d8168e3d4686df Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Fri, 16 Aug 2013 12:34:31 +0100 Subject: [PATCH] caching target phrase for OnDisk pt --- .../RuleTable/PhraseDictionaryOnDisk.cpp | 15 ++++++++++----- .../RuleTable/PhraseDictionaryOnDisk.h | 4 +++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/moses/TranslationModel/RuleTable/PhraseDictionaryOnDisk.cpp b/moses/TranslationModel/RuleTable/PhraseDictionaryOnDisk.cpp index 6d0c88814..c246555c8 100644 --- a/moses/TranslationModel/RuleTable/PhraseDictionaryOnDisk.cpp +++ b/moses/TranslationModel/RuleTable/PhraseDictionaryOnDisk.cpp @@ -91,13 +91,19 @@ void PhraseDictionaryOnDisk::InitializeForInput(InputType const& source) m_implementation.reset(obj); } -void PhraseDictionaryOnDisk::GetTargetPhraseCollectionBatch(const InputPathList &phraseDictionaryQueue) const +void PhraseDictionaryOnDisk::GetTargetPhraseCollectionBatch(const InputPathList &inputPathQueue) const { - OnDiskPt::OnDiskWrapper &wrapper = const_cast(GetImplementation()); - InputPathList::const_iterator iter; - for (iter = phraseDictionaryQueue.begin(); iter != phraseDictionaryQueue.end(); ++iter) { + for (iter = inputPathQueue.begin(); iter != inputPathQueue.end(); ++iter) { InputPath &inputPath = **iter; + GetTargetPhraseCollectionBatch(inputPath); + } +} + +void PhraseDictionaryOnDisk::GetTargetPhraseCollectionBatch(InputPath &inputPath) const +{ + OnDiskPt::OnDiskWrapper &wrapper = const_cast(GetImplementation()); + const Phrase &phrase = inputPath.GetPhrase(); const InputPath *prevInputPath = inputPath.GetPrevNode(); @@ -140,7 +146,6 @@ void PhraseDictionaryOnDisk::GetTargetPhraseCollectionBatch(const InputPathList delete lastWordOnDisk; } } - } } } diff --git a/moses/TranslationModel/RuleTable/PhraseDictionaryOnDisk.h b/moses/TranslationModel/RuleTable/PhraseDictionaryOnDisk.h index 35bfe00bb..b7fdfdff3 100644 --- a/moses/TranslationModel/RuleTable/PhraseDictionaryOnDisk.h +++ b/moses/TranslationModel/RuleTable/PhraseDictionaryOnDisk.h @@ -60,6 +60,8 @@ protected: OnDiskPt::OnDiskWrapper &GetImplementation(); const OnDiskPt::OnDiskWrapper &GetImplementation() const; + void GetTargetPhraseCollectionBatch(InputPath &inputPath) const; + public: PhraseDictionaryOnDisk(const std::string &line); ~PhraseDictionaryOnDisk(); @@ -75,7 +77,7 @@ public: const ChartCellCollectionBase &); virtual void InitializeForInput(InputType const& source); - void GetTargetPhraseCollectionBatch(const InputPathList &phraseDictionaryQueue) const; + void GetTargetPhraseCollectionBatch(const InputPathList &inputPathQueue) const; };