Changeset 1080 for library

Show
Ignore:
Timestamp:
06/10/10 22:13:50 (14 years ago)
Author:
smidl
Message:

fix tests

Location:
library
Files:
3 modified

Legend:

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

    r1072 r1080  
    248248    //! numeric values of regressor 
    249249    vec rgr; 
    250  
     250         
     251        //! RV for initial conditions 
     252        RV init_rv; 
     253        //! initial conditions 
     254        vec init_values; 
     255                 
    251256public: 
    252257    void step(); 
     
    279284    */ 
    280285    void from_setting ( const Setting &set ) { 
    281         ipdf = UI::build<pdf> ( set, "pdf", UI::compulsory ); 
    282  
    283         RV Yrv = ipdf->_rv(); 
    284         // get unique rvs form rvc 
    285         RV rgrv0 = ipdf->_rvc().remove_time(); 
    286         // input is what in not in Yrv 
    287         Urv = rgrv0.subt ( Yrv ); 
    288         Drv=  concat(Yrv,Urv); 
    289         // connect input and output to rvc 
    290         ut2rgr.set_connection ( ipdf->_rvc(), Urv ); 
    291         yt2rgr.set_connection ( ipdf->_rvc(), Yrv ); 
    292  
    293         //set history - if given 
    294         shared_ptr<RV> rv_ini = UI::build<RV> ( set, "init_rv", UI::optional ); 
    295         if ( rv_ini ) { // check if 
    296             vec val; 
    297             UI::get ( val, set, "init_values", UI::optional ); 
    298             if ( val.length() != rv_ini->_dsize() ) { 
    299                 bdm_error ( "init_rv and init_values fields have incompatible sizes" ); 
    300             } else { 
    301                 ut2rgr.set_history ( *rv_ini, val ); 
    302                 yt2rgr.set_history ( *rv_ini, val ); 
    303             } 
    304         } 
    305  
    306         yt = zeros ( ipdf->dimension() ); 
    307         rgr = zeros ( ipdf->dimensionc() ); 
    308         ut = zeros ( Urv._dsize() ); 
    309  
    310         utsize = ut.length(); 
    311         dtsize = yt.length() + utsize; 
     286                ipdf = UI::build<pdf> ( set, "pdf", UI::compulsory ); 
     287                UI::get ( init_rv, set, "init_rv", UI::optional); 
     288                UI::get ( init_values, set, "init_values", UI::optional); 
    312289    } 
    313290 
    314291    void validate() { 
    315         DS::validate(); 
     292                RV Yrv = ipdf->_rv(); 
     293                // get unique rvs form rvc 
     294                RV rgrv0 = ipdf->_rvc().remove_time(); 
     295                // input is what in not in Yrv 
     296                Urv = rgrv0.subt ( Yrv ); 
     297                Drv=  concat(Yrv,Urv); 
     298                // connect input and output to rvc 
     299                ut2rgr.set_connection ( ipdf->_rvc(), Urv ); 
     300                yt2rgr.set_connection ( ipdf->_rvc(), Yrv ); 
     301                 
     302                if ( init_rv._dsize()>0 ) { // check if 
     303                        if ( init_values.length() != init_rv._dsize() ) { 
     304                                bdm_error ( "init_rv and init_values fields have incompatible sizes" ); 
     305                        } else { 
     306                                ut2rgr.set_history ( init_rv, init_values ); 
     307                                yt2rgr.set_history ( init_rv, init_values ); 
     308                        } 
     309                } 
     310                 
     311                yt = zeros ( ipdf->dimension() ); 
     312                rgr = zeros ( ipdf->dimensionc() ); 
     313                ut = zeros ( Urv._dsize() ); 
     314                 
     315                utsize = ut.length(); 
     316                dtsize = yt.length() + utsize; 
     317                 
     318                DS::validate(); 
    316319 
    317320        //taken from sample() - shift of history is not done here 
  • library/tests/testsuite/datasource_test.cpp

    r1072 r1080  
    6464        Array<shared_ptr<pdf> > Arr(2); 
    6565        Arr(0) = OM; 
    66         Arr(1)= IM; 
     66        Arr(1) = IM; 
    6767         
    68         shared_ptr<mprod> mp; 
     68        shared_ptr<mprod> mp=new mprod; 
    6969        mp->set_elements(Arr); 
     70        mp->validate(); 
    7071         
    7172        pds.ipdf=mp; 
     
    7879    } 
    7980 
    80     vec dt; 
     81    vec dt(4); 
    8182        pds.getdata ( dt ); 
    8283    CHECK_CLOSE ( vec ( "94.5, 94.5, 13.5, 9" ), dt, 1e-2 ); 
  • library/tests/testsuite/egiw.cfg

    r849 r1080  
    44  epdf = { 
    55    class = "egiw"; 
    6     V = ( "matrix", 2, 2, [ 13.1, 11.0, 11.0, 10.0 ] ); 
     6    fV = ( "matrix", 2, 2, [ 13.1, 11.0, 11.0, 10.0 ] ); 
    77    nu = 10.0; 
    88    dimx = 1; 
     
    2727  epdf = { 
    2828    class = "egiw"; 
    29     V = ( "matrix", 2, 2, [ 200.0, 80.0, 80.0, 40.0 ] ); 
     29    fV = ( "matrix", 2, 2, [ 200.0, 80.0, 80.0, 40.0 ] ); 
    3030    nu = 40.0; 
    3131    dimx = 1;