Source: kalamaris/constant.h
|
|
|
|
/* constant.h -
This file is part of Kalamaris
Copyright (C) 2000 Antonio Larrosa Jimenez
Kalamaris' homepage : http://www.arrakis.es/~rlarrosa/kalamaris.html
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 details.
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., 675 Mass Ave, Cambridge, MA 02139, USA.
Send comments and bug fixes to Antonio Larrosa <larrosa@kde.org>
***************************************************************************/
#ifndef _CONSTANT_H
#define _CONSTANT_H
#include "map.h"
#include "vartype.h"
class Constant : public Map
{
protected:
friend class Matrix;
friend class TMatrix;
T *m_c;
public:
Constant(const QString &num, const QString &nam=QString());
Constant(const T &g);
Constant(const double g, const QString &nam=QString());
Constant(T *c);
Constant(const Constant &g);
virtual ~Constant();
virtual Map *copy(void) const;
virtual Map *eval (const QDict <Map> &vars);
virtual Map *derive(const class Variable &var, const QDict <Map> &vars);
virtual inline T *t(void) const { return m_c; };
virtual QString string(void) const;
virtual QString help(void) const;
inline static Map *add(Constant * &m1, Constant * &m2);
inline static Map *sub(Constant * &m1, Constant * &m2);
inline static Map *mul(Constant * &m1, Constant * &m2);
inline static Map *div(Constant * &m1, Constant * &m2);
inline static Map *pow(Constant * &m1, Constant * &m2,
bool managem1=false, bool managem2=false);
static Constant *newConstantG(const T &g);
};
#endif
Generated by: antlarr@terminus on Mon Jun 5 03:54:02 2000, using kdoc 2.0a22. |