Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHieu Hoang <hieu@hoang.co.uk>2014-05-08 21:48:10 +0400
committerHieu Hoang <hieu@hoang.co.uk>2014-05-08 21:48:10 +0400
commit91afa4b4f17247f015c7a4cff7aa0c4425557ebe (patch)
treebfd460601e5e5471409e6351b84c1e22e1cdf7b2 /moses/ChartTranslationOptions.cpp
parentb64d87f1ba95335381188ef9461cf5418617ba96 (diff)
delete chart translation option if -inf score
Diffstat (limited to 'moses/ChartTranslationOptions.cpp')
-rw-r--r--moses/ChartTranslationOptions.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/moses/ChartTranslationOptions.cpp b/moses/ChartTranslationOptions.cpp
index 103d6e5b0..0bdad2b12 100644
--- a/moses/ChartTranslationOptions.cpp
+++ b/moses/ChartTranslationOptions.cpp
@@ -65,6 +65,22 @@ void ChartTranslationOptions::Evaluate(const InputType &input, const InputPath &
transOpt.Evaluate(input, inputPath, m_stackVec);
}
+ // get rid of -inf trans opts
+ size_t numDiscard = 0;
+ for (size_t i = 0; i < m_collection.size(); ++i) {
+ ChartTranslationOption *transOpt = m_collection[i].get();
+
+ if (transOpt->GetScores().GetWeightedScore() == - std::numeric_limits<float>::infinity()) {
+ ++numDiscard;
+ }
+ else if (numDiscard) {
+ m_collection[i - numDiscard] = boost::shared_ptr<ChartTranslationOption>(transOpt);
+ }
+ }
+
+ m_collection.resize(m_collection.size() - numDiscard);
+
+
}
void ChartTranslationOptions::SetInputPath(const InputPath *inputPath)