From e078ac74f3499298742174a06f915b58f2d4cbdb Mon Sep 17 00:00:00 2001 From: mjdenkowski Date: Thu, 29 Aug 2013 02:27:51 -0400 Subject: Cleanup, fix id issue. --- mteval/scorer.cc | 13 ++++++------- mteval/scorer.h | 13 ++++++++----- 2 files changed, 14 insertions(+), 12 deletions(-) (limited to 'mteval') diff --git a/mteval/scorer.cc b/mteval/scorer.cc index ced0cadf..de84e076 100644 --- a/mteval/scorer.cc +++ b/mteval/scorer.cc @@ -595,7 +595,6 @@ void DocScorer::Init( const vector& ref_files, const string& src_file, bool verbose) { scorers_.clear(); - this->type = type; // TODO stop using valarray, start using ReadFile cerr << "Loading references (" << ref_files.size() << " files)\n"; ReadFile srcrf; @@ -645,6 +644,9 @@ void DocScorer::Init( cerr << "Loaded reference translations for " << scorers_.size() << " sentences.\n"; } +DocStreamScorer::~DocStreamScorer() { +} + void DocStreamScorer::Init( const ScoreType type, const vector& ref_files, @@ -655,17 +657,14 @@ void DocStreamScorer::Init( this->type = type; vector > refs(1); string src_line; - // Empty reference 0 + // Initialize empty reference TD::ConvertSentence("", &refs[0]); - scorers_.push_back(ScorerP(SentenceScorer::CreateSentenceScorer(type, refs, src_line))); - // Reference 1 starts empty, updated as needed - scorers_.push_back(ScorerP(SentenceScorer::CreateSentenceScorer(type, refs, src_line))); + scorer = ScorerP(SentenceScorer::CreateSentenceScorer(type, refs, src_line)); } void DocStreamScorer::update(const std::string& ref) { - scorers_.pop_back(); vector > refs(1); string src_line; TD::ConvertSentence(ref, &refs[0]); - scorers_.push_back(ScorerP(SentenceScorer::CreateSentenceScorer(this->type, refs, src_line))); + scorer = ScorerP(SentenceScorer::CreateSentenceScorer(type, refs, src_line)); } diff --git a/mteval/scorer.h b/mteval/scorer.h index 56c39a7d..bb1e89ae 100644 --- a/mteval/scorer.h +++ b/mteval/scorer.h @@ -101,16 +101,16 @@ class DocScorer { Init(type,ref_files,src_file,verbose); } - int size() const { return scorers_.size(); } - ScorerP operator[](size_t i) const { return scorers_[i]; } + virtual int size() const { return scorers_.size(); } + virtual ScorerP operator[](size_t i) const { return scorers_[i]; } virtual void update(const std::string& ref) {} private: - ScoreType type; std::vector scorers_; }; class DocStreamScorer : public DocScorer { public: + ~DocStreamScorer(); void Init(const ScoreType type, const std::vector& ref_files, const std::string& src_file = "", @@ -124,9 +124,12 @@ class DocStreamScorer : public DocScorer { { Init(type,ref_files,src_file,verbose); } - ScorerP operator[](size_t i); - int size(); + ScorerP operator[](size_t i) const { return scorer; } + int size() const { return 1; } void update(const std::string& ref); + private: + ScoreType type; + ScorerP scorer; }; #endif -- cgit v1.2.3