00001 #include "../bdm/stat/datasources.h"
00002 #include "mex_parser.h"
00003
00004 namespace bdm {
00012 class MexDS : public MemDS {
00014 MexDS () {};
00015
00033 void from_setting ( const Setting &set ) {
00034 Data = mxArray2mat ( mexGetVariable ( "base", set["varname"] ) );
00035 UI::get ( rowid, set, "rids" , UI::compulsory );
00036 it_assert_debug ( max ( rowid ) <= Data.rows(), "MemDS rowid is too high for given Dat." );
00037
00038 UI::get ( delays, set, "tds", UI::compulsory );
00039 time = max ( delays );
00040 it_assert_debug ( time < Data.cols(), "MemDS delays are too high." );
00041
00042 shared_ptr<RV> r = UI::build<RV> ( set, "rv", UI::compulsory );
00043 RV ru = RV();
00044 set_rvs ( *r, ru );
00045 }
00046
00047
00048
00049 };
00050
00051 UIREGISTER ( MexDS );
00052 SHAREDPTR ( MexDS );
00053
00054 }