#ifndef MTT_SOLVER #define MTT_SOLVER #include <cmath> #include <cstdlib> #include <iostream> #include <octave/oct.h> class Solver { protected: typedef ColumnVector (*sys_ae) // pointer to F${sys}_ae function (ColumnVector &,ColumnVector &,const double &t,ColumnVector &); public: Solver (sys_ae ae, const int npar, const int nu, const int nx, const int ny, const int nyz); ColumnVector solve (const ColumnVector &x, const ColumnVector &u, const double &t, const ColumnVector &par); ColumnVector eval (const ColumnVector &ui); virtual ~Solver (void) {}; protected: virtual void Solve (void) = 0; protected: ColumnVector _x; ColumnVector _uui; double _t; ColumnVector _par; ColumnVector _ui; ColumnVector _yz; int _nu; int _np; int _nx; int _ny; int _nyz; sys_ae _ae; }; #endif // MTT_SOLVER