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/StaticData.cpp')
-rw-r--r--moses/StaticData.cpp28
1 files changed, 24 insertions, 4 deletions
diff --git a/moses/StaticData.cpp b/moses/StaticData.cpp
index e15e1b355..4d3e96000 100644
--- a/moses/StaticData.cpp
+++ b/moses/StaticData.cpp
@@ -62,8 +62,6 @@ using namespace boost::algorithm;
namespace Moses
{
-bool g_mosesDebug = false;
-
StaticData StaticData::s_instance;
StaticData::StaticData()
@@ -71,6 +69,7 @@ StaticData::StaticData()
, m_requireSortingAfterSourceContext(false)
, m_currentWeightSetting("default")
, m_treeStructure(NULL)
+ , m_coordSpaceNextID(1)
{
Phrase::InitializeMemPool();
}
@@ -681,8 +680,8 @@ void StaticData::LoadSparseWeightsFromConfig()
featureNames.insert(descr);
}
- std::map<std::string, std::vector<float> > weights = m_parameter->GetAllWeights();
- std::map<std::string, std::vector<float> >::iterator iter;
+ const std::map<std::string, std::vector<float> > &weights = m_parameter->GetAllWeights();
+ std::map<std::string, std::vector<float> >::const_iterator iter;
for (iter = weights.begin(); iter != weights.end(); ++iter) {
// this indicates that it is sparse feature
if (featureNames.find(iter->first) == featureNames.end()) {
@@ -938,4 +937,25 @@ void StaticData::ResetWeights(const std::string &denseWeights, const std::string
}
}
+size_t StaticData::GetCoordSpace(string space) const
+{
+ map<string const, size_t>::const_iterator m = m_coordSpaceMap.find(space);
+ if(m == m_coordSpaceMap.end()) {
+ return 0;
+ }
+ return m->second;
+}
+
+size_t StaticData::MapCoordSpace(string space)
+{
+ map<string const, size_t>::const_iterator m = m_coordSpaceMap.find(space);
+ if (m != m_coordSpaceMap.end()) {
+ return m->second;
+ }
+ size_t id = m_coordSpaceNextID;
+ m_coordSpaceNextID += 1;
+ m_coordSpaceMap[space] = id;
+ return id;
+}
+
} // namespace