Changeset 944 for library/bdm/mex

Show
Ignore:
Timestamp:
05/16/10 23:13:21 (14 years ago)
Author:
smidl
Message:

Doc + new examples

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/bdm/mex/mex_BM.h

    r943 r944  
    1212                }  
    1313                void validate() { 
    14                         mexCallMATLAB(0, 0, 1, &data,  "validate"); 
    1514                        mxArray *tmp; 
     15                        mexCallMATLAB(1, &tmp, 1, &data,  "validate"); 
     16                        // new object is in tmp 
     17                        data = tmp; 
     18                         
    1619                        mexCallMATLAB(1, &tmp, 1, &data, "dimensions"); 
    1720                        vec v=mxArray2vec(tmp); 
     
    2023                        dimy = v(1); 
    2124                        dimc = v(2); 
     25                         
     26                        mexCallMATLAB(1, &tmp, 1, &data, "get_rv"); 
     27                        UImxArray rvtmp(tmp); 
     28                        shared_ptr<RV> r = UI::build<RV>(rvtmp); 
     29                        set_rv(*r); 
     30                         
     31                        mexCallMATLAB(1, &tmp, 1, &data, "get_rvc"); 
     32                        UImxArray rvtmpc(tmp); 
     33                        shared_ptr<RV> rc = UI::build<RV>(rvtmpc); 
     34                        rvtmpc.writeFile("tmpc.cfg"); 
     35                        rvc=*rc; 
     36                         
     37                        mexCallMATLAB(1, &tmp, 1, &data, "get_rvy"); 
     38                        UImxArray rvtmpy(tmp); 
     39                        rvtmpy.writeFile("tmpy.cfg"); 
     40                        shared_ptr<RV> ry = UI::build<RV>(rvtmpy); 
     41                        yrv = *ry; 
     42                         
    2243                } 
    2344                void bayes(const vec &dt, const vec &cond) { 
     
    3152                         
    3253                        mexCallMATLAB(1, &tmp, 3, in, "bayes"); 
    33                         if (data!=tmp){ 
    34                                 mxDestroyArray ( data ); 
    35                                 data = mxDuplicateArray ( tmp ); 
    36                         }                       // 
     54                        data = tmp; 
    3755                } 
    3856                epdf* predictor(const vec &cond) const { 
     
    5169                } 
    5270                const epdf& posterior() const { 
     71                        mxArray *tmp; 
     72                        mexCallMATLAB(1, &tmp, 1,(mxArray **) &data,  "posterior"); 
     73                        const_cast<mexEpdf*>(&est)->set_data(tmp); 
    5374                        return est; 
    5475                }