Changeset 950 for library/bdm/estim

Show
Ignore:
Timestamp:
05/18/10 21:19:38 (14 years ago)
Author:
smidl
Message:

Move logfull out of epdf.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/bdm/estim/particles.h

    r907 r950  
    9898                        bm = UI::build<BM> ( set, "bm", UI::compulsory ); 
    9999                } 
     100                 
     101                void to_setting(const Setting &set){ 
     102                        if (BM::log_level[logfull]){ 
     103                        } 
     104                } 
    100105                void validate(){ 
    101106                        est_emp.set_point(zeros(par->dimension())); 
     
    202207        //! all weightes will be logged 
    203208 
    204         //! \var log_level_enums samples 
    205         //! all samples will be logged 
    206         LOG_LEVEL(PF,weights,samples); 
     209        //! \var log_level_enums menas 
     210        //! means of particles will be logged 
     211        LOG_LEVEL(PF,logweights,logmeans,logvars); 
    207212         
    208213        class pf_mix: public emix_base{ 
     
    300305        void from_setting ( const Setting &set ) { 
    301306                BM::from_setting ( set ); 
     307                UI::get ( log_level, set, "log_level", UI::optional ); 
    302308                 
    303309                shared_ptr<BM> bm0 = UI::build<BM>(set, "particle",UI::compulsory); 
     
    320326                BM::set_rv(bm0->_rv()); 
    321327                yrv=bm0->_yrv(); 
     328        } 
     329         
     330        void log_register ( bdm::logger& L, const string& prefix ){ 
     331                BM::log_register(L,prefix); 
     332                if (log_level[logweights]){ 
     333                        L.add_vector( log_level, logweights, RV ( particles.length()), prefix);  
     334                } 
     335                if (log_level[logmeans]){ 
     336                        for (int i=0; i<particles.length(); i++){ 
     337                                L.add_vector( log_level, logmeans, RV ( particles(i)->dimension() ), prefix , i); 
     338                        } 
     339                } 
     340        }; 
     341        void log_write ( ) const { 
     342                BM::log_write(); 
     343                if (log_level[logweights]){ 
     344                        log_level.store( logweights, w);  
     345                } 
     346                if (log_level[logmeans]){ 
     347                        for (int i=0; i<particles.length(); i++){ 
     348                                 log_level.store( logmeans, particles(i)->posterior().mean(), i); 
     349                        } 
     350                } 
     351                 
    322352        } 
    323353