#include "mex.h" #include #ifndef MEXTRSOLVER_H #define MEXTRSOLVER_H // mex interface class class mextrsolver { public: mextrsolver(); virtual ~mextrsolver(); // test method //void debug(void); void printx(void); // the interface methods int prepare_netlist(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); void init_sync(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); void init_async(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); int stepsolve_sync(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); void acceptstep_sync(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); int stepsolve_async(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); void acceptstep_async(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); void rejectstep_async(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); int getsolution(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); int getN(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); int getM(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); void getJac(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); void setecvs(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); void getiprobe(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); void getvprobe(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); void getnodev(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]); private: // the one and only trsolver_interface object, interface to the // qucs transient solver qucs::trsolver_interface qtr; }; // function to display messages void mextrsolvermessage(int, const char*, ...); #endif // MEXTRSOLVER_H