Changeset 895 for library/bdm

Show
Ignore:
Timestamp:
04/08/10 16:01:03 (14 years ago)
Author:
smidl
Message:

get rid of Yrv in DS

Location:
library/bdm
Files:
5 modified

Legend:

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

    r889 r895  
    915915        //! size of data 
    916916        int utsize; 
    917         //!size of output 
    918         int ytsize; 
    919917        //!Description of data returned by \c getdata(). 
    920918        RV Drv; 
    921919        //!Description of data witten by by \c write(). 
    922920        RV Urv; // 
    923         //!Description of output data 
    924         RV Yrv; // 
    925921public: 
    926922        //! default constructors 
    927         DS() : dtsize ( 0 ), utsize ( 0 ), ytsize ( 0 ), Drv(), Urv(), Yrv() { 
     923        DS() : dtsize ( 0 ), utsize ( 0 ), Drv(), Urv(){ 
    928924                log_level[dt] = true; 
    929925        }; 
     
    964960                return Urv; 
    965961        } 
    966         //!access function 
    967         const RV& _yrv() const { 
    968                 return Yrv; 
    969         } 
    970962        //! set random variables 
    971         virtual void set_drv ( const  RV &yrv, const RV &urv ) { 
    972                 Yrv = yrv; 
    973                 Drv = concat ( yrv, urv ); 
     963        virtual void set_drv ( const  RV &drv, const RV &urv) { 
     964                Drv = drv; 
    974965                Urv = urv; 
    975966        } 
  • library/bdm/base/datasources.cpp

    r892 r895  
    6363 
    6464void PdfDS::getdata ( vec &dt_out ) const { 
    65         bdm_assert_debug ( dt_out.length() >= utsize + ytsize, "Short output vector" ); 
     65        bdm_assert_debug ( dt_out.length() >= dtsize, "Short output vector" ); 
    6666        dt_out.set_subvector ( 0, yt ); 
    67         dt_out.set_subvector ( ytsize, ut ); 
     67        dt_out.set_subvector ( yt.length(), ut ); 
    6868} 
    6969 
     
    8282        dt.set_subvector ( 0, yt ); 
    8383        dt.set_subvector ( yt.length(), xt ); 
    84         dt.set_subvector ( ytsize, ut ); 
     84        dt.set_subvector ( yt.length()+xt.length(), ut ); 
    8585} 
    8686 
     
    9999        DS::validate(); 
    100100 
    101         Yrv = concat ( OM->_rv() , IM->_rv() ); // export also true state 
    102         ytsize = Yrv._dsize(); 
     101        RV Yrv = concat ( OM->_rv() , IM->_rv() ); // export also true state 
     102        int ytsize = Yrv._dsize(); 
    103103 
    104104        RV tmp = concat ( OM->_rvc(), IM->_rvc() ); // what i not in rvc 
  • library/bdm/base/datasources.h

    r892 r895  
    9797                set_drv ( *r, RV() ); //empty urv 
    9898                dtsize = r->_dsize(); 
    99                 ytsize = dtsize; 
    10099                utsize = 0; 
    101100        } 
     
    219218                dt =  zeros ( iepdf->dimension() ); 
    220219                dtsize = dt.length(); 
    221                 ytsize = dt.length(); 
    222220                set_drv ( iepdf->_rv(), RV() ); 
    223221                utsize = 0; 
     
    281279                ipdf = UI::build<pdf> ( set, "pdf", UI::compulsory ); 
    282280 
    283                 Yrv = ipdf->_rv(); 
     281                RV Yrv = ipdf->_rv(); 
    284282                // get unique rvs form rvc 
    285283                RV rgrv0 = ipdf->_rvc().remove_time(); 
    286284                // input is what in not in Yrv 
    287285                Urv = rgrv0.subt ( Yrv ); 
    288                 set_drv ( Yrv, Urv ); 
     286                set_drv ( concat(Yrv,Urv), Urv ); 
    289287                // connect input and output to rvc 
    290288                ut2rgr.set_connection ( ipdf->_rvc(), Urv ); 
     
    308306                ut = zeros ( Urv._dsize() ); 
    309307 
    310                 ytsize = yt.length(); 
    311308                utsize = ut.length(); 
    312                 dtsize = ytsize + utsize; 
     309                dtsize = yt.length() + utsize; 
    313310        } 
    314311 
  • library/bdm/mex/mex_datasource.h

    r766 r895  
    4545                rowid = linspace ( 0, Data.rows() - 1 ); 
    4646                dtsize = rowid.length(); 
    47                 ytsize = rowid.length(); 
    4847                utsize = 0; 
    4948 
     
    8786        mexDS () : DS() {}; 
    8887 
    89         /*! \brief Create memory data source from mxArray 
     88        /*! \brief Data source computed by matlab function 
    9089 
    9190        \code 
     
    9493                step_name="";              // name of function to call 
    9594                input_name="";             // name of workspace variable where inputs are written 
    96                 yrv = {class='RV',...}  // identification of outputs 
     95                drv = {class='RV',...}  // identification of outputs 
    9796                urv = {class='RV',...}   // identification of inputs 
    9897                }; 
     
    106105                UI::get ( input_name, set, "input_name", UI::compulsory ); 
    107106 
    108                 shared_ptr<RV> ry = UI::build<RV> ( set, "yrv", UI::compulsory ); 
     107                shared_ptr<RV> rd = UI::build<RV> ( set, "drv", UI::compulsory ); 
    109108                shared_ptr<RV> ru = UI::build<RV> ( set, "urv", UI::compulsory ); 
    110109 
    111                 ytsize = ry->_dsize(); 
     110                dtsize = rd->_dsize(); 
    112111                utsize = ru->_dsize(); 
    113                 dtsize = ytsize + utsize; 
    114112 
    115                 set_drv ( *ry, *ru ); 
     113                set_drv ( *rd, *ru ); 
    116114                validate(); 
    117115        } 
     
    142140                mexCallMATLAB ( 1, &tmp, 0, ( mxArray ** ) &dummy, step_name.c_str() ); 
    143141                // save its results 
    144                 bdm_assert_debug ( ( int ) mxGetM ( tmp ) == ytsize || ( int ) mxGetN ( tmp ) == ytsize, "mexDS.step() expected return vector of length " + num2str ( dtsize ) + 
     142                bdm_assert_debug ( ( int ) mxGetM ( tmp ) == dtsize || ( int ) mxGetN ( tmp ) == dtsize, "mexDS.step() expected return vector of length " + num2str ( dtsize ) + 
    145143                                   "got vector " + num2str ( ( int ) mxGetM ( tmp ) ) + "x" + num2str ( ( int ) mxGetN ( tmp ) ) ); 
    146144                //write  y 
    147145                dt.set_subvector ( 0, mxArray2vec ( tmp ) ); 
    148146                //write u 
    149                 dt.set_subvector ( ytsize, ut ); 
    150147        } 
    151148        void write ( const vec &ut0 ) { 
  • library/bdm/mex/mex_logger.h

    r737 r895  
    6262                        istart = 0; 
    6363                        for ( int j = 0; j < entries ( i ).length(); j++ ) { // same for as in add!!! 
    64                                 vec_name = names ( i ) + prefix_sep() + entries ( i ).name ( j ); 
     64                                vec_name = names ( i ) + "_" + entries ( i ).name ( j ); 
    6565                                iend = istart + entries ( i ).size ( j ) - 1; 
    6666                                M = vectors ( i ).get_cols ( istart, iend );