diff options
author | graehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f> | 2010-07-19 23:40:30 +0000 |
---|---|---|
committer | graehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f> | 2010-07-19 23:40:30 +0000 |
commit | 190ad8ae1e131ac0e29ff975b0d6502f3cc57af6 (patch) | |
tree | 7016b7671bfa385a1b3e4a8ab4c2a2544e5208df /vest/ter.cc | |
parent | 7d31056d098694b85847d9f75d3870913661e73b (diff) |
fixed oracle generate, detailed score info with --verbose
git-svn-id: https://ws10smt.googlecode.com/svn/trunk@329 ec762483-ff6d-05da-a07a-a48fb63a330f
Diffstat (limited to 'vest/ter.cc')
-rw-r--r-- | vest/ter.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/vest/ter.cc b/vest/ter.cc index b4ebc4f5..8c8494ad 100644 --- a/vest/ter.cc +++ b/vest/ter.cc @@ -9,7 +9,7 @@ #include <set> #include <valarray> #include <boost/functional/hash.hpp> - +#include <stdexcept> #include "tdict.h" const bool ter_use_average_ref_len = true; @@ -432,8 +432,12 @@ class TERScore : public Score { void ScoreDetails(string* details) const; void PlusPartialEquals(const Score& rhs, int oracle_e_cover, int oracle_f_cover, int src_len){} void PlusEquals(const Score& delta, const float scale) { - stats += static_cast<const TERScore&>(delta).stats; - } + if (scale==1) + stats += static_cast<const TERScore&>(delta).stats; + if (scale==-1) + stats -= static_cast<const TERScore&>(delta).stats; + throw std::runtime_error("TERScore::PlusEquals with scale != +-1"); + } void PlusEquals(const Score& delta) { stats += static_cast<const TERScore&>(delta).stats; } |