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:
Diffstat (limited to 'moses/AlignmentInfo.cpp')
-rw-r--r--moses/AlignmentInfo.cpp24
1 files changed, 13 insertions, 11 deletions
diff --git a/moses/AlignmentInfo.cpp b/moses/AlignmentInfo.cpp
index 97efc25eb..15e8b6d52 100644
--- a/moses/AlignmentInfo.cpp
+++ b/moses/AlignmentInfo.cpp
@@ -106,7 +106,9 @@ std::set<size_t> AlignmentInfo::GetAlignmentsForTarget(size_t targetPos) const
}
-bool compare_target(const std::pair<size_t,size_t> *a, const std::pair<size_t,size_t> *b)
+bool
+compare_target(std::pair<size_t,size_t> const* a,
+ std::pair<size_t,size_t> const* b)
{
if(a->second < b->second) return true;
if(a->second == b->second) return (a->first < b->first);
@@ -114,29 +116,29 @@ bool compare_target(const std::pair<size_t,size_t> *a, const std::pair<size_t,si
}
-std::vector< const std::pair<size_t,size_t>* > AlignmentInfo::GetSortedAlignments() const
+std::vector< const std::pair<size_t,size_t>* >
+AlignmentInfo::
+GetSortedAlignments(WordAlignmentSort SortOrder) const
{
std::vector< const std::pair<size_t,size_t>* > ret;
-
+
CollType::const_iterator iter;
for (iter = m_collection.begin(); iter != m_collection.end(); ++iter) {
const std::pair<size_t,size_t> &alignPair = *iter;
ret.push_back(&alignPair);
}
-
- const StaticData &staticData = StaticData::Instance();
- WordAlignmentSort wordAlignmentSort = staticData.GetWordAlignmentSort();
-
- switch (wordAlignmentSort) {
+
+ switch (SortOrder) {
case NoSort:
break;
-
+
case TargetOrder:
std::sort(ret.begin(), ret.end(), compare_target);
break;
-
+
default:
- UTIL_THROW(util::Exception, "Unknown alignment sort option: " << wordAlignmentSort);
+ UTIL_THROW(util::Exception, "Unknown word alignment sort option: "
+ << SortOrder);
}
return ret;