Changeset 950 for library/bdm/base

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

Move logfull out of epdf.

Location:
library/bdm/base
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • library/bdm/base/bdmbase.cpp

    r949 r950  
    442442        }; 
    443443 
    444         if ( log_level[logfull] ) { 
    445                 // log full data 
    446                 L.add_setting ( log_level, logfull, prefix ); 
    447         } else { 
    448                 // log only 
    449  
    450                 if ( log_level[logmean] ) 
    451                         L.add_vector ( log_level, logmean, r, prefix );                  
    452                 if ( log_level[loglbound] ) 
    453                         L.add_vector ( log_level, loglbound, r, prefix ); 
    454                 if ( log_level[logubound] ) 
    455                         L.add_vector ( log_level, logubound, r, prefix ); 
    456         } 
     444        // log only 
     445 
     446        if ( log_level[logmean] ) 
     447                L.add_vector ( log_level, logmean, r, prefix );                  
     448        if ( log_level[loglbound] ) 
     449                L.add_vector ( log_level, loglbound, r, prefix ); 
     450        if ( log_level[logubound] ) 
     451                L.add_vector ( log_level, logubound, r, prefix ); 
    457452} 
    458453 
    459454void epdf::log_write() const { 
    460         if ( log_level[logfull] ) { 
    461                 log_level.store( logfull, this ); 
    462         } else { 
    463                 if ( log_level[logmean] ) { 
    464                         log_level.store( logmean, mean() ); 
    465                 } 
    466                 if ( log_level[loglbound] || log_level[logubound] ) { 
    467                                 vec lb; 
    468                                 vec ub; 
    469                                 qbounds ( lb, ub ); 
    470                                 if (log_level[loglbound]) 
    471                                         log_level.store( loglbound, lb ); 
    472                                 if (log_level[logubound]) 
    473                                         log_level.store( logubound, ub ); 
    474                         } 
    475                 } 
    476         } 
     455        if ( log_level[logmean] ) { 
     456                log_level.store( logmean, mean() ); 
     457        } 
     458        if ( log_level[loglbound] || log_level[logubound] ) { 
     459                vec lb; 
     460                vec ub; 
     461                qbounds ( lb, ub ); 
     462                if (log_level[loglbound]) 
     463                        log_level.store( loglbound, lb ); 
     464                if (log_level[logubound]) 
     465                        log_level.store( logubound, ub ); 
     466        } 
     467} 
     468 
    477469 
    478470 
     
    558550        root::log_register ( L, prefix ); 
    559551 
     552        if ( log_level[logfull] ) { 
     553                // log full data 
     554                L.add_setting ( log_level, logfull, prefix + L.separator + "posterior" ); 
     555        }  
     556                 
    560557        if ( log_level[logevidence] ) 
    561558                L.add_vector ( log_level, logevidence, RV ( 1 ), prefix );       
     
    565562                prior().log_level[epdf::logubound]=true; 
    566563        } 
    567         if (log_level[logfull]){ 
    568                 prior().log_level[epdf::logfull]=true; 
    569         } 
    570564        const_cast<epdf&> ( posterior() ).log_register ( L, prefix + L.separator + "apost" ); 
    571565} 
     
    573567void BM::log_write ( ) const { 
    574568        posterior().log_write(); 
    575  
     569        if ( log_level[logfull] ) { 
     570                log_level.store( logfull, &posterior() ); 
     571        }  
     572                 
    576573        if( log_level[logevidence] )  
    577574                log_level.store( logevidence, ll ); 
  • library/bdm/base/bdmbase.h

    r946 r950  
    670670        //! \var log_level_enums logfull 
    671671        //! log full record of the density in the form of setting 
    672         LOG_LEVEL(epdf,logmean,loglbound,logubound,logfull); 
     672        LOG_LEVEL(epdf,logmean,loglbound,logubound); 
    673673 
    674674public: 
     
    13351335        void validate() 
    13361336        { 
    1337                 if ( log_level[logfull] ) { 
    1338                         const_cast<epdf&> ( posterior() ).log_level[epdf::logfull] = true; 
     1337                if ( log_level[logbounds] ) { 
     1338                        const_cast<epdf&> ( posterior() ).log_level[epdf::loglbound] = true; 
    13391339                } else { 
    1340                         if ( log_level[logbounds] ) { 
    1341                                 const_cast<epdf&> ( posterior() ).log_level[epdf::loglbound] = true; 
    1342                         } else { 
    1343                                 const_cast<epdf&> ( posterior() ).log_level[epdf::logmean] = true;; 
    1344                         } 
    1345                         if ( log_level[logevidence] ) { 
    1346                         } 
     1340                        const_cast<epdf&> ( posterior() ).log_level[epdf::logmean] = true;; 
    13471341                } 
    13481342        }