Changeset 780

Show
Ignore:
Timestamp:
01/12/10 23:09:07 (14 years ago)
Author:
smidl
Message:

fix broken mixtures - test_suite was OK with this?

Location:
library/bdm
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • library/bdm/estim/mixtures.cpp

    r766 r780  
    144144        for ( int i = 0; i < n; i++ ) { 
    145145                pC ( i ) = Coms ( i )->epredictor ( ); 
     146                pC (i) -> set_rv(_yrv()); 
    146147        } 
    147148        emix* tmp; 
  • library/bdm/stat/emix.cpp

    r766 r780  
    1212        w = w / sum_w; 
    1313 
    14         int dim = Coms ( 0 )->dimension(); 
    15         for ( int i = 1; i < Coms.length(); i++ ) { 
     14        dim = Coms ( 0 )->dimension(); 
     15        RV rv_tmp= Coms ( 0 )->_rv() ; 
     16        bool isnam=true; 
     17        for ( int i = 0; i < Coms.length(); i++ ) { 
    1618                bdm_assert ( dim == ( Coms ( i )->dimension() ), "Component sizes do not match!" ); 
    17                 bdm_assert ( Coms(i)->isnamed() , "An unnamed component is forbidden here!" ); 
    18         } 
    19  
    20         set_rv ( Coms ( 0 )->_rv() );  
     19                isnam &= Coms(i)->isnamed() & Coms(i)->_rv().equal(rv_tmp); 
     20        } 
     21        if (isnam) 
     22                set_rv ( rv_tmp);  
    2123} 
    2224