mixpp: arx_ext.h Source File

arx_ext.h

Go to the documentation of this file.
00001
00008 #ifndef AREX_H
00009 #define AREX_H
00010 
00011 #include "../math/functions.h"
00012 #include "arx.h"
00013
00014 namespace bdm {
00015
00029 class ARXg: public ARX {
00030 protected:
00032     shared_ptr<fnc> g;
00033 public:
00036     ARXg (): ARX() {}
00037     ARXg (const ARXg &A0): ARX(A0),g(A0.g) {}
00038     ARXg* _copy() const {
00039         return new ARXg(*this);
00040     }
00042
00045
00047     void bayes_weighted ( const vec &yt, const vec &cond = empty_vec, const double w = 1.0 ) {
00048         int dimc_store =dimc;
00049         dimc =0;
00050                 int rgrlen_store = rgrlen;
00051                 rgrlen =0;
00052         ARX::bayes_weighted(yt - g->eval(cond), empty_vec, w);
00053         dimc = dimc_store;
00054                 rgrlen=rgrlen_store;
00055     };
00057
00076     void from_setting ( const Setting &set ) {
00077         ARX::from_setting(set);
00078         g=UI::build<fnc>(set,"g",UI::compulsory);
00079     }
00080
00081     void validate() {
00082         ARX::validate();//if dimc not set set it from V
00083         bdm_assert(g->dimension()==dimensiony(),"incompatible g");
00084         bdm_assert(g->dimensionc()==dimensionc(),"incompatible g");
00085     }
00086
00087     void to_setting ( Setting &set ) const
00088     {
00089         ARX::to_setting( set ); // takes care of rv, yrv, rvc
00090         UI::save(g,set,"g");
00091     }
00092 };
00093 UIREGISTER ( ARXg );
00094 SHAREDPTR ( ARXg );
00095
00096 };
00097 #endif // AREX_H
00098 
00099

Generated on 2 Dec 2013 for mixpp by  doxygen 1.4.7