X-Git-Url: https://ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Fconstant.h;h=c18f6fc9f01dd2669a08a3013067a8028587d364;hb=55e50ea26252dff7432bdce8b010f9fbd058e907;hp=9922637602b999d91a306b6d50f133038d10dcb5;hpb=80ceed0c855ea06ff5acd9375ad2e0c5ca386373;p=ginac.git diff --git a/ginac/constant.h b/ginac/constant.h index 99226376..c18f6fc9 100644 --- a/ginac/constant.h +++ b/ginac/constant.h @@ -3,7 +3,7 @@ * Interface to GiNaC's constant types and some special constants. */ /* - * GiNaC Copyright (C) 1999-2006 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2008 Johannes Gutenberg University Mainz, Germany * * 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 @@ -43,13 +43,17 @@ class constant : public basic // other constructors public: - constant(const std::string & initname, evalffunctype efun = 0, const std::string & texname = std::string()); - constant(const std::string & initname, const numeric & initnumber, const std::string & texname = std::string()); + constant(const std::string & initname, evalffunctype efun = 0, const std::string & texname = std::string(), unsigned domain = domain::complex); + constant(const std::string & initname, const numeric & initnumber, const std::string & texname = std::string(), unsigned domain = domain::complex); // functions overriding virtual functions from base classes public: + bool info(unsigned inf) const; ex evalf(int level = 0) const; bool is_polynomial(const ex & var) const; + ex conjugate() const; + ex real_part() const; + ex imag_part() const; protected: ex derivative(const symbol & s) const; bool is_equal_same_type(const basic & other) const; @@ -70,6 +74,7 @@ private: ex number; ///< numerical value this constant evalf()s to unsigned serial; ///< unique serial number for comparison static unsigned next_serial; + unsigned domain; ///< numerical value this constant evalf()s to }; extern const constant Pi;