From 684db46e977bca456e02e677d22ba5e4a33ae6ce Mon Sep 17 00:00:00 2001 From: graehl Date: Tue, 27 Jul 2010 05:00:07 +0000 Subject: set fsa features() properly git-svn-id: https://ws10smt.googlecode.com/svn/trunk@433 ec762483-ff6d-05da-a07a-a48fb63a330f --- decoder/ff_fsa.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'decoder/ff_fsa.h') diff --git a/decoder/ff_fsa.h b/decoder/ff_fsa.h index 45837f2c..a5563511 100755 --- a/decoder/ff_fsa.h +++ b/decoder/ff_fsa.h @@ -66,6 +66,16 @@ usage: see ff_sample_fsa.h or ff_lm_fsa.h template struct FsaFeatureFunctionBase { + // CALL 1 of these MANUALLY (because feature name(s) may depend on param, it's not done in ctor) + void Init(std::string const& fname="") { + fid_=FD::Convert(fname.empty()?name():fname); + InitHaveFid(); + } + Features features_; + void InitHaveFid() { + features_=FeatureFunction::single_feature(fid_); + } + Impl const& d() const { return static_cast(*this); } Impl & d() { return static_cast(*this); } protected: @@ -81,16 +91,6 @@ protected: end_phrase_=singleton_sentence(single); } - // CALL 1 of these MANUALLY (because feature name(s) may depend on param, it's not done in ctor) - void InitFidNamed(std::string const& fname="") { - fid_=FD::Convert(name.empty()?name():fname); - Init(); - } - Features features_; - void Init() { - features_=FeatureFunction::single_feature(fid_); - } - inline void static to_state(void *state,char const* begin,char const* end) { std::memcpy(state,begin,end-begin); } -- cgit v1.2.3