#ifndef MTT_DASSLSOLVER #define MTT_DASSLSOLVER #include "mtt_AlgebraicSolver.hh" #include <octave/DASSL.h> #ifdef OCTAVE_DEV #include <octave/parse.h> #define VECTOR_VALUE column_vector_value #else // !OCTAVE_DEV #include <octave/toplev.h> #define VECTOR_VALUE vector_value #endif // OCTAVE_DEV // -ae dassl namespace MTT { class Dassl_Solver : public MTT::AlgebraicSolver { // used only when called because of "-ae dassl" // this is not used when called by "-i dassl" public: Dassl_Solver (const int npar, const int nu, const int nx, const int ny, const int nyz) : MTT::AlgebraicSolver (npar, nu, nx, ny, nyz) { static_ptr = this; } static ColumnVector f_dassl (const ColumnVector &tryUi, const ColumnVector &tryUidot, double t, int &ires); ~Dassl_Solver (void) {}; protected: void Solve (void); public: static Dassl_Solver *static_ptr; }; } #endif // MTT_DASSLSOLVER