Changeset 907 for library/bdm/stat

Show
Ignore:
Timestamp:
04/19/10 12:44:57 (14 years ago)
Author:
mido
Message:

LOG LEVEL improved and hopefully finished

Location:
library/bdm/stat
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • library/bdm/stat/exp_family.cpp

    r889 r907  
    298298 
    299299void egiw::log_register ( bdm::logger& L, const string& prefix ) { 
    300         if ( log_level[tri] ) { 
     300        if ( log_level[logmean] || log_level[logvariance] ) {  
    301301                root::log_register ( L, prefix ); 
    302                 logrec->ids.set_length ( 2 ); 
    303302                int th_dim = dimension() - dimx * ( dimx + 1 ) / 2; 
    304                 logrec->ids ( 0 ) = L.add_vector ( RV ( "", th_dim ), prefix, "mean" ); 
    305                 logrec->ids ( 1 ) = L.add_vector ( RV ( "", th_dim * th_dim ), prefix, "variance" ); 
     303 
     304                if ( log_level[logmean] ) 
     305                        registered_logger->add_vector( log_level, logmean, RV ( th_dim ), prefix );  
     306                if ( log_level[logvariance] ) 
     307                        registered_logger->add_vector( log_level, logvariance, RV ( th_dim * th_dim ), prefix ); 
    306308        } else { 
    307309                epdf::log_register ( L, prefix ); 
     
    310312 
    311313void egiw::log_write() const { 
    312         if ( log_level[tri] ) { 
     314        if ( log_level[logmean] || log_level[logvariance] ) {  
    313315                mat M; 
    314316                ldmat Lam; 
    315317                ldmat Vz; 
    316318                factorize ( M, Vz, Lam ); 
    317                 logrec->L.log_vector ( logrec->ids ( 0 ), est_theta() ); 
    318                 logrec->L.log_vector ( logrec->ids ( 1 ), cvectorize ( est_theta_cov().to_mat() ) ); 
     319                if( log_level[logmean] ) 
     320                        log_level.store( logmean, est_theta() ); 
     321                if( log_level[logvariance] ) 
     322                        log_level.store( logvariance, cvectorize ( est_theta_cov().to_mat() ) ); 
    319323        } else { 
    320324                epdf::log_write(); 
    321325        } 
    322  
    323326} 
    324327 
  • library/bdm/stat/exp_family.h

    r900 r907  
    102102                BM::to_setting( set ); 
    103103                UI::save(frg, set, "frg"); 
    104                 // TODO DOPLNIT? ALE MOMENTALNE CHYBI FROM_SETTING PRO INSPIRACI 
    105104        }  
     105 
    106106        void from_setting( const Setting &set) { 
    107107                BM::from_setting(set); 
    108108                if ( !UI::get ( frg, set, "frg" ) ) 
    109109                        frg = 1.0; 
    110          
    111110        } 
    112111 
     
    349348*/ 
    350349class egiw : public eEF { 
    351         //! \var log_level_enums tri 
     350        //! \var log_level_enums logvariance 
    352351        //! TODO DOPLNIT 
    353         LOG_LEVEL(egiw,tri); 
     352 
     353        //! \var log_level_enums logmean 
     354        //! TODO DOPLNIT 
     355        LOG_LEVEL(egiw,logmean, logvariance); 
    354356 
    355357protected: