diff options
author | graehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f> | 2010-07-20 00:11:45 +0000 |
---|---|---|
committer | graehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f> | 2010-07-20 00:11:45 +0000 |
commit | f28e6d45671035d39dcfc25070c72f6e120032e1 (patch) | |
tree | d3627fd7c440bae67b81f1578fea9576d4836603 /vest/scorer.cc | |
parent | b6cf365f217bc7b528243071af733d4a251ff77c (diff) |
Score::TimesEquals for vlad-mira, intrusive refcount for Score, shared_ptr compile fixes for decoder progs
git-svn-id: https://ws10smt.googlecode.com/svn/trunk@331 ec762483-ff6d-05da-a07a-a48fb63a330f
Diffstat (limited to 'vest/scorer.cc')
-rw-r--r-- | vest/scorer.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/vest/scorer.cc b/vest/scorer.cc index 86894c32..05269a3b 100644 --- a/vest/scorer.cc +++ b/vest/scorer.cc @@ -28,6 +28,10 @@ using namespace std; const bool minimize_segments = true; // if adjacent segments have equal scores, merge them +void Score::TimesEquals(float scale) { + cerr<<"UNIMPLEMENTED except for BLEU (for MIRA): Score::TimesEquals"<<endl;abort(); +} + ScoreType ScoreTypeFromString(const string& st) { const string sl = LowercaseString(st); if (sl == "ser") @@ -159,6 +163,7 @@ class BLEUScore : public Score { float ComputeScore() const; float ComputePartialScore() const; void ScoreDetails(string* details) const; + void TimesEquals(float scale); void PlusEquals(const Score& delta); void PlusEquals(const Score& delta, const float scale); void PlusPartialEquals(const Score& delta, int oracle_e_cover, int oracle_f_cover, int src_len); @@ -566,6 +571,13 @@ void BLEUScore::PlusEquals(const Score& delta) { hyp_len += d.hyp_len; } +void BLEUScore::TimesEquals(float scale) { + correct_ngram_hit_counts *= scale; + hyp_ngram_counts *= scale; + ref_len *= scale; + hyp_len *= scale; +} + void BLEUScore::PlusEquals(const Score& delta, const float scale) { const BLEUScore& d = static_cast<const BLEUScore&>(delta); correct_ngram_hit_counts = correct_ngram_hit_counts + (d.correct_ngram_hit_counts * scale); |