diff options
author | graehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f> | 2010-07-27 04:59:37 +0000 |
---|---|---|
committer | graehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f> | 2010-07-27 04:59:37 +0000 |
commit | cc7ee5e3f6ac08750b80e468b77e8ad732e48b77 (patch) | |
tree | 2bd8688735602402918b02747ed7557a1aed97d4 /decoder/tdict.cc | |
parent | d038d9d39793f140c97bf71163fa0556ad015014 (diff) |
fsa feature templated Accum interface, phrase interface allows exceeding markov order e.g. unigram state, 3gram lm. use Accum,set_value rather than clear,add_value. warning: 3gram fsa lm disagrees with bottom-up in 4th decimal place
git-svn-id: https://ws10smt.googlecode.com/svn/trunk@431 ec762483-ff6d-05da-a07a-a48fb63a330f
Diffstat (limited to 'decoder/tdict.cc')
-rw-r--r-- | decoder/tdict.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/decoder/tdict.cc b/decoder/tdict.cc index 6794bc79..7b56d259 100644 --- a/decoder/tdict.cc +++ b/decoder/tdict.cc @@ -85,6 +85,17 @@ std::string TD::GetString(const std::vector<WordID>& str) { return o.str(); } +std::string TD::GetString(WordID const* i,WordID const* e) { + ostringstream o; + bool sp=false; + for (;i<e;++i,sp=true) { + if (sp) + o << ' '; + o << TD::Convert(*i); + } + return o.str(); +} + int TD::AppendString(const WordID& w, int pos, int bufsize, char* buffer) { const char* word = TD::Convert(w); |