// Rascal, the Advanced Scientific CALculator // Copyright (C) 2001, Sebastian Ritterbusch (Rascal@Ritterbusch.de) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more detauls. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // #ifndef VALUETAYLOR_HPP_INCLUDED #define VALUETAYLOR_HPP_INCLUDED #include using std::string; class value; #include "mtaylor.hpp" typedef mtaylor valuetaylor; string output(const valuetaylor &a); valuetaylor matrixtotaylor(const valuematrix &a); value evaluate(const symrec *,const value &); value compute_derivative(const symrec *); class dsymrec { private: int iDiff; symrecpointer iSymrec; public: dsymrec(symrecpointer aSymrec,int aDiff=1) : iSymrec(aSymrec), iDiff(aDiff) {} friend dsymrec ddsymrec(const dsymrec & a) { return dsymrec(a.iSymrec,a.iDiff+1); } value eval(const value &) const; friend string output(const dsymrec &); }; #endif