diff --git a/moses-chart-cmd/src/Main.cpp b/moses-chart-cmd/src/Main.cpp index 1cdc565b7..9865c6d7e 100644 --- a/moses-chart-cmd/src/Main.cpp +++ b/moses-chart-cmd/src/Main.cpp @@ -187,17 +187,9 @@ static void ShowWeights() const TranslationSystem& system = staticData.GetTranslationSystem(TranslationSystem::DEFAULT); const vector& slf =system.GetStatelessFeatureFunctions(); const vector& sff = system.GetStatefulFeatureFunctions(); - const vector& pds = system.GetPhraseDictionaries(); - const vector& gds = system.GetGenerationDictionaries(); for (size_t i = 0; i < sff.size(); ++i) { PrintFeatureWeight(sff[i]); } - for (size_t i = 0; i < pds.size(); ++i) { - PrintFeatureWeight(pds[i]); - } - for (size_t i = 0; i < gds.size(); ++i) { - PrintFeatureWeight(gds[i]); - } for (size_t i = 0; i < slf.size(); ++i) { PrintFeatureWeight(slf[i]); } diff --git a/moses-cmd/src/Main.cpp b/moses-cmd/src/Main.cpp index e6dea0d13..7888bfd98 100644 --- a/moses-cmd/src/Main.cpp +++ b/moses-cmd/src/Main.cpp @@ -319,20 +319,12 @@ static void ShowWeights() const TranslationSystem& system = staticData.GetTranslationSystem(TranslationSystem::DEFAULT); const vector& slf =system.GetStatelessFeatureFunctions(); const vector& sff = system.GetStatefulFeatureFunctions(); - const vector& pds = system.GetPhraseDictionaries(); - const vector& gds = system.GetGenerationDictionaries(); for (size_t i = 0; i < sff.size(); ++i) { PrintFeatureWeight(sff[i]); } for (size_t i = 0; i < slf.size(); ++i) { PrintFeatureWeight(slf[i]); } - for (size_t i = 0; i < pds.size(); ++i) { - PrintFeatureWeight(pds[i]); - } - for (size_t i = 0; i < gds.size(); ++i) { - PrintFeatureWeight(gds[i]); - } } } //namespace diff --git a/moses/src/Hypothesis.cpp b/moses/src/Hypothesis.cpp index 4a59a4182..d3d474325 100644 --- a/moses/src/Hypothesis.cpp +++ b/moses/src/Hypothesis.cpp @@ -299,11 +299,14 @@ void Hypothesis::CalcScore(const SquareMatrix &futureScore) clock_t t=0; // used to track time // compute values of stateless feature functions that were not - // cached in the translation option-- there is no principled distinction + // cached in the translation option const vector& sfs = m_manager.GetTranslationSystem()->GetStatelessFeatureFunctions(); - for (unsigned i = 0; i < sfs.size(); ++i) - sfs[i]->Evaluate(*this, &m_currScoreBreakdown); + for (unsigned i = 0; i < sfs.size(); ++i) { + if (!sfs[i]->ComputeValueInTranslationOption()) { + sfs[i]->Evaluate(*this, &m_currScoreBreakdown); + } + } const vector& ffs = m_manager.GetTranslationSystem()->GetStatefulFeatureFunctions(); diff --git a/moses/src/TranslationSystem.cpp b/moses/src/TranslationSystem.cpp index c21b5ed8f..b010f58cf 100644 --- a/moses/src/TranslationSystem.cpp +++ b/moses/src/TranslationSystem.cpp @@ -78,10 +78,7 @@ namespace Moses { m_producers.push_back(ff); if (ff->IsStateless()) { - const StatelessFeatureFunction* statelessFF = static_cast(ff); - if (!statelessFF->ComputeValueInTranslationOption()) { - m_statelessFFs.push_back(statelessFF); - } + m_statelessFFs.push_back(static_cast(ff)); } else { m_statefulFFs.push_back(static_cast(ff)); }