Changeset 183 for bdm/stat

Show
Ignore:
Timestamp:
10/17/08 10:28:16 (16 years ago)
Author:
smidl
Message:

Universal merging tool is (almost) finished

Location:
bdm/stat
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • bdm/stat/emix.cpp

    r182 r183  
    3535        for(int i=0;i<Coms.length();i++){Cn(i)=Coms(i)->marginal(rv);} 
    3636        emix* tmp = new emix(rv); 
    37         tmp->set_parameters(w,Coms,false); 
     37        tmp->set_parameters(w,Cn,false); 
    3838        tmp->ownComs(); 
    3939        return tmp; 
  • bdm/stat/emix.h

    r182 r183  
    5757                        den = nom->marginal(rvc); 
    5858                }; 
    59                 double evalcond(const vec &val, const vec &cond) const { 
     59                double evalcond(const vec &val, const vec &cond) { 
    6060                        return exp(nom->evalpdflog(concat(val,cond)) - den->evalpdflog(cond)); 
    6161                } 
     
    100100                int i; 
    101101                double sum = 0.0; 
    102                 for ( i = 0;i < w.length();i++ ) {sum += w ( i ) * Coms ( i )->evalpdflog ( val );} 
     102                for ( i = 0;i < w.length();i++ ) {sum += w ( i ) * exp(Coms ( i )->evalpdflog ( val ));} 
    103103                return log ( sum ); 
    104104        }; 
  • bdm/stat/libBM.h

    r182 r183  
    182182        } 
    183183        //! Return conditional density on the given RV, the remaining rvs will be in conditioning 
    184         virtual mpdf* condition(const RV &rv) const {it_warning("Not implemented"); return NULL;} 
     184        virtual mpdf* condition(const RV &rv) const  {it_warning("Not implemented"); return NULL;} 
    185185        //! Return marginal density on the given RV, the remainig rvs are intergrated out 
    186         epdf* marginal(const RV &rv) const {it_warning("Not implemented"); return NULL;} 
     186        virtual epdf* marginal(const RV &rv) const {it_warning("Not implemented"); return NULL;} 
    187187 
    188188        //! return expected value 
  • bdm/stat/libEF.h

    r182 r183  
    130130        double lognc () const; 
    131131        vec mean() const {return mu;} 
    132         mlnorm<sq_T>* condition ( const RV &rvn ) const ; 
    133         enorm<sq_T>* marginal ( const RV &rv ) const; 
     132//      mlnorm<sq_T>* condition ( const RV &rvn ) const ; 
     133        mpdf* condition ( const RV &rvn ) const ; 
     134//      enorm<sq_T>* marginal ( const RV &rv ) const; 
     135        epdf* marginal ( const RV &rv ) const; 
    134136//Access methods 
    135137        //! returns a pointer to the internal mean value. Use with Care! 
     
    597599 
    598600template<class sq_T> 
    599 enorm<sq_T>* enorm<sq_T>::marginal ( const RV &rvn ) const { 
     601epdf* enorm<sq_T>::marginal ( const RV &rvn ) const { 
    600602        ivec irvn = rvn.dataind ( rv ); 
    601603 
     
    607609 
    608610template<class sq_T> 
    609 mlnorm<sq_T>* enorm<sq_T>::condition ( const RV &rvn ) const { 
     611mpdf* enorm<sq_T>::condition ( const RV &rvn ) const { 
    610612 
    611613        RV rvc = rv.subt ( rvn );