X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Fconstant.h;h=91ede2825ec395a59c131419c493915f90c791f0;hb=f24e6b878a7f7469f04985b96add59d78b7070c9;hp=99cbe99928506d55abaa6c5d49ddf266f9692b8d;hpb=15d4b353c85f8815a95d97ab977c9ca48e155574;p=ginac.git diff --git a/ginac/constant.h b/ginac/constant.h index 99cbe999..91ede282 100644 --- a/ginac/constant.h +++ b/ginac/constant.h @@ -24,11 +24,11 @@ #define __GINAC_CONSTANT_H__ #include -#include +#include "basic.h" -#ifndef NO_GINAC_NAMESPACE +#ifndef NO_NAMESPACE_GINAC namespace GiNaC { -#endif // ndef NO_GINAC_NAMESPACE +#endif // ndef NO_NAMESPACE_GINAC typedef ex (*evalffunctype)(void); @@ -38,6 +38,7 @@ typedef ex (*evalffunctype)(void); * number). */ class constant : public basic { + GINAC_DECLARE_REGISTERED_CLASS(constant, basic) // member functions @@ -45,16 +46,16 @@ class constant : public basic public: constant(); ~constant(); - constant(constant const & other); - // constant const & operator=(constant const & other); /* it's pervert! */ + constant(const constant & other); + // const constant & operator=(const constant & other); /* it's pervert! */ protected: - void copy(constant const & other); + void copy(const constant & other); void destroy(bool call_parent); // other constructors public: - constant(string const & initname, evalffunctype efun=0); - constant(string const & initname, numeric const & initnumber); + constant(const string & initname, evalffunctype efun=0); + constant(const string & initname, const numeric & initnumber); // functions overriding virtual functions from bases classes public: @@ -64,10 +65,10 @@ public: void printtree(ostream & os, unsigned indent) const; void printcsrc(ostream & os, unsigned type, unsigned upper_precedence=0) const; ex evalf(int level=0) const; - ex diff(symbol const & s) const; protected: - int compare_same_type(basic const & other) const; - bool is_equal_same_type(basic const & other) const; + ex derivative(const symbol & s) const; + int compare_same_type(const basic & other) const; + bool is_equal_same_type(const basic & other) const; // new virtual functions which can be overridden by derived classes // none @@ -89,15 +90,15 @@ private: // global constants extern const constant some_constant; -extern type_info const & typeid_constant; +extern const type_info & typeid_constant; // extern const numeric I; extern const constant Pi; extern const constant Catalan; extern const constant EulerGamma; -#ifndef NO_GINAC_NAMESPACE +#ifndef NO_NAMESPACE_GINAC } // namespace GiNaC -#endif // ndef NO_GINAC_NAMESPACE +#endif // ndef NO_NAMESPACE_GINAC #endif // ndef __GINAC_CONSTANT_H__