Qucs-core  0.0.19
mextrsolver.h
Go to the documentation of this file.
00001 #include "mex.h"
00002 #include <qucs-core/qucs_interface.h>
00003 
00004 
00005 #ifndef MEXTRSOLVER_H
00006 #define MEXTRSOLVER_H
00007 
00008 // mex interface class
00009 class mextrsolver
00010 {
00011     public:
00012         mextrsolver();
00013         virtual ~mextrsolver();
00014 
00015         // test method
00016         //void debug(void);
00017         void printx(void);
00018 
00019         // the interface methods
00020         int prepare_netlist(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00021         void init_sync(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00022         void init_async(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00023         int stepsolve_sync(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00024         void acceptstep_sync(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00025         int stepsolve_async(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00026         void acceptstep_async(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00027         void rejectstep_async(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00028         int getsolution(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00029         int getN(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00030         int getM(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00031         void getJac(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00032         void setecvs(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00033         void getiprobe(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00034         void getvprobe(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00035         void getnodev(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]);
00036 
00037     private:
00038         // the one and only trsolver_interface object, interface to the
00039         // qucs transient solver
00040         qucs::trsolver_interface qtr;
00041 };
00042 
00043 // function to display messages
00044 void mextrsolvermessage(int, const char*, ...);
00045 
00046 #endif // MEXTRSOLVER_H