File size: 2,196 Bytes
158b61b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
/*
* Scores.h
*
* Created on: 23 Oct 2015
* Author: hieu
*/
#pragma once
#include <iostream>
#include <string>
#include "TypeDef.h"
#include "MemPool.h"
namespace Moses2
{
class FeatureFunction;
class FeatureFunctions;
class System;
class Scores
{
public:
Scores(const System &system, MemPool &pool, size_t numScores);
Scores(const System &system, MemPool &pool, size_t numScores,
const Scores &origScores);
virtual ~Scores();
SCORE GetTotalScore() const {
return m_total;
}
const SCORE *GetScores(const FeatureFunction &featureFunction) const;
void Reset(const System &system);
void CreateFromString(const std::string &str,
const FeatureFunction &featureFunction, const System &system,
bool transformScores);
void PlusEquals(const System &system, const FeatureFunction &featureFunction,
const SCORE &score);
void PlusEquals(const System &system, const FeatureFunction &featureFunction,
const SCORE &score, size_t offset);
void PlusEquals(const System &system, const FeatureFunction &featureFunction,
const std::vector<SCORE> &scores);
void PlusEquals(const System &system, const FeatureFunction &featureFunction,
SCORE scores[]);
void PlusEquals(const System &system, const Scores &scores);
void MinusEquals(const System &system, const Scores &scores);
void Assign(const System &system, const FeatureFunction &featureFunction,
const SCORE &score);
void Assign(const System &system, const FeatureFunction &featureFunction,
const std::vector<SCORE> &scores);
std::string Debug(const System &system) const;
void OutputBreakdown(std::ostream &out, const System &system) const;
// static functions to work out estimated scores
static SCORE CalcWeightedScore(const System &system,
const FeatureFunction &featureFunction, SCORE scores[]);
static SCORE CalcWeightedScore(const System &system,
const FeatureFunction &featureFunction, SCORE score);
protected:
SCORE *m_scores;
SCORE m_total;
};
}
|