Changeset 1013 for library/bdm/stat

Show
Ignore:
Timestamp:
05/27/10 23:07:49 (14 years ago)
Author:
smidl
Message:

Flatten has an extra argument

Location:
library/bdm/stat
Files:
2 modified

Legend:

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

    r996 r1013  
    377377        return pred.lognc() - lll; 
    378378} 
    379 void multiBM::flatten ( const BMEF* B ) { 
     379void multiBM::flatten ( const BMEF* B, double weight=1.0 ) { 
    380380        const multiBM* E = dynamic_cast<const multiBM*> ( B ); 
    381381        // sum(beta) should be equal to sum(B.beta) 
    382382        const vec &Eb = E->beta;//const_cast<multiBM*> ( E )->_beta(); 
    383         beta *= ( sum ( Eb ) / sum ( beta ) ); 
     383        beta *= ( sum ( Eb ) / sum ( beta ) * weight); 
    384384        if ( evalll ) { 
    385385                last_lognc = est.lognc(); 
     
    768768                dimc = _beta.length(); 
    769769        } 
    770  
    771 }; 
     770} 
  • library/bdm/stat/exp_family.h

    r1003 r1013  
    9999 
    100100        //!Flatten the posterior according to the given BMEF (of the same type!) 
    101         virtual void flatten ( const BMEF * B ) NOT_IMPLEMENTED_VOID; 
     101        virtual void flatten ( const BMEF * B, double weight=1.0 ) NOT_IMPLEMENTED_VOID;; 
    102102 
    103103 
     
    620620        double logpred ( const vec &yt ) const; 
    621621 
    622         void flatten ( const BMEF* B ); 
     622        void flatten ( const BMEF* B , double weight); 
    623623 
    624624        //! return correctly typed posterior (covariant return)