X-Git-Url: https://ginac.de/ginac.git//ginac.git?a=blobdiff_plain;ds=inline;f=ginac%2Fconstant.h;h=fc39375585674dc695c2f32f6231b7e80d0d21b2;hb=8fcaff0d29e20d570c2936a27ce110326b76390e;hp=8ca145cd4bfd848e9ade2f9478481bb99e471cda;hpb=619d77d2676f7f1a562fb9fefc0ba6754fe2d750;p=ginac.git diff --git a/ginac/constant.h b/ginac/constant.h index 8ca145cd..fc393755 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-2007 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2010 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 @@ -20,12 +20,14 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef __GINAC_CONSTANT_H__ -#define __GINAC_CONSTANT_H__ +#ifndef GINAC_CONSTANT_H +#define GINAC_CONSTANT_H -#include #include "basic.h" #include "ex.h" +#include "archive.h" + +#include namespace GiNaC { @@ -38,9 +40,6 @@ typedef ex (*evalffunctype)(); class constant : public basic { GINAC_DECLARE_REGISTERED_CLASS(constant, basic) - -// member functions - // other constructors public: constant(const std::string & initname, evalffunctype efun = 0, const std::string & texname = std::string(), unsigned domain = domain::complex); @@ -54,6 +53,8 @@ public: ex conjugate() const; ex real_part() const; ex imag_part() const; + void archive(archive_node& n) const; + void read_archive(const archive_node& n, lst& syms); protected: ex derivative(const symbol & s) const; bool is_equal_same_type(const basic & other) const; @@ -76,6 +77,7 @@ private: static unsigned next_serial; unsigned domain; ///< numerical value this constant evalf()s to }; +GINAC_DECLARE_UNARCHIVER(constant); extern const constant Pi; extern const constant Catalan; @@ -83,4 +85,4 @@ extern const constant Euler; } // namespace GiNaC -#endif // ndef __GINAC_CONSTANT_H__ +#endif // ndef GINAC_CONSTANT_H