00001 00002 // MathCore = a WYSIWYG equation editor + a powerful math engine // 00003 // Copyright (C) 2003 by Francesco Montorsi // 00004 // // 00005 // This library is free software; you can redistribute it and/or // 00006 // modify it under the terms of the GNU Lesser General Public // 00007 // License as published by the Free Software Foundation; either // 00008 // version 2.1 of the License, or (at your option) any later // 00009 // version. // 00010 // // 00011 // This library is distributed in the hope that it will be useful, // 00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of // 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // 00014 // GNU Lesser General Public License for more details. // 00015 // // 00016 // You should have received a copy of the GNU Lesser General Public // 00017 // License along with this program; if not, write to the Free // 00018 // Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, // 00019 // MA 02111-1307, USA. // 00020 // // 00021 // For any comment, suggestion or feature request, please contact // 00022 // the administrator of the project at frm@users.sourceforge.net // 00023 // // 00030 00031 00032 00033 #ifndef GENERICSOLVER_H 00034 #define GENERICSOLVER_H 00035 00036 // optimization for GCC compiler 00037 #ifdef __GNUG__ 00038 #pragma interface "GenericSolver.h" 00039 #endif 00040 00041 // required includes 00042 #include "mc/Solver.h" 00043 00044 00045 00047 class mcSimplifySolver : public mcSolver 00048 { 00049 public: 00050 mcSimplifySolver() { 00051 m_strName = wxT("Simplifier solver"); 00052 m_strDesc = wxT("Repeatedly applies the SIMPLIFY command to the data."); 00053 m_nType = mcST_SIMPLIFY; 00054 } 00055 00056 virtual ~mcSimplifySolver() {} 00057 00059 bool math_SolveLine(mcMathLine &p, const mcSymbolProperties *unk, mcSystemStepArray &); 00060 00061 bool math_WorksOn(const mcMathOrSystem &m) const 00062 { return TRUE; } 00063 bool math_isReady() const { return TRUE; } 00064 00065 wxPanel *gui_GetOptionsPanel() const { return NULL; } 00066 }; 00067 00068 00070 class mcExpandSolver : public mcSolver 00071 { 00072 public: 00073 mcExpandSolver() { 00074 m_strName = wxT("Expander solver"); 00075 m_strDesc = wxT("Repeatedly applies the EXPAND command to the data."); 00076 m_nType = mcST_EXPAND; 00077 } 00078 00079 virtual ~mcExpandSolver() {} 00080 00082 bool math_SolveLine(mcMathLine &p, const mcSymbolProperties *unk, mcSystemStepArray &); 00083 00084 bool math_WorksOn(const mcMathOrSystem &m) const 00085 { return TRUE; } 00086 bool math_isReady() const { return TRUE; } 00087 00088 wxPanel *gui_GetOptionsPanel() const { return NULL; } 00089 }; 00090 00091 00092 #endif // GENERICSOLVER_H
[ Top ] |