X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Fconstant.h;h=fc39375585674dc695c2f32f6231b7e80d0d21b2;hp=5ba32987d8ba38397292a139b3341fe605f50bd9;hb=c28e61da33905ddc69abf893aaffec98aa30d053;hpb=690cd58cc13ad5052eb5851c573984965d0c40c1 diff --git a/ginac/constant.h b/ginac/constant.h index 5ba32987..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-2006 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