lattice decoding with sparse features

This commit is contained in:
Hieu Hoang 2013-09-08 17:02:59 +02:00
parent 7214be82d4
commit 42fc86b259
2 changed files with 7 additions and 7 deletions

View File

@ -11,15 +11,15 @@ namespace Moses
void ScorePair::PlusEquals(const ScorePair &other)
{
PlusEquals(other.denseScores);
std::map<std::string, float>::const_iterator iter;
std::map<StringPiece, float>::const_iterator iter;
for (iter = other.sparseScores.begin(); iter != other.sparseScores.end(); ++iter) {
PlusEquals(iter->first, iter->second);
}
}
void ScorePair::PlusEquals(const std::string &key, float value)
void ScorePair::PlusEquals(const StringPiece &key, float value)
{
std::map<std::string, float>::iterator iter;
std::map<StringPiece, float>::iterator iter;
iter = sparseScores.find(key);
if (iter == sparseScores.end()) {
sparseScores[key] = value;
@ -245,9 +245,9 @@ void ScoreComponentCollection::PlusEquals(const FeatureFunction* sp, const Score
{
PlusEquals(sp, scorePair.denseScores);
std::map<std::string, float>::const_iterator iter;
std::map<StringPiece, float>::const_iterator iter;
for (iter = scorePair.sparseScores.begin(); iter != scorePair.sparseScores.end(); ++iter) {
const string &key = iter->first;
const StringPiece &key = iter->first;
float value = iter->second;
PlusEquals(sp, key, value);
}

View File

@ -47,10 +47,10 @@ namespace Moses
struct ScorePair
{
std::vector<float> denseScores;
std::map<std::string, float> sparseScores;
std::map<StringPiece, float> sparseScores;
void PlusEquals(const ScorePair &other);
void PlusEquals(const std::string &key, float value);
void PlusEquals(const StringPiece &key, float value);
void PlusEquals(const std::vector<float> &other)
{