X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=blobdiff_plain;ds=sidebyside;f=ginac%2Fsymbol.h;h=5dc869db03f7e1cd91ba9fce88f2be13b8a36a73;hb=2f683bcc8e46ad4faf224fcda218626cf3e8753b;hp=2d9ec3ba974b7886b2059ac127cc966da1f2d39a;hpb=aa6281216091efd92dc5fcc3f96c7189114e80f1;p=ginac.git diff --git a/ginac/symbol.h b/ginac/symbol.h index 2d9ec3ba..5dc869db 100644 --- a/ginac/symbol.h +++ b/ginac/symbol.h @@ -3,7 +3,7 @@ * Interface to GiNaC's symbolic objects. */ /* - * GiNaC Copyright (C) 1999-2001 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2003 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 @@ -37,7 +37,7 @@ namespace GiNaC { * first place. */ class symbol : public basic { - GINAC_DECLARE_REGISTERED_CLASS_NO_CTORS(symbol, basic) + GINAC_DECLARE_REGISTERED_CLASS(symbol, basic) // types @@ -52,19 +52,6 @@ class symbol : public basic // member functions - // default ctor, dtor, copy ctor assignment operator and helpers -public: - symbol(); - ~symbol() - { - /*debugmsg("symbol dtor", LOGLEVEL_DESTRUCT);*/ - destroy(false); - } - symbol(const symbol & other); -protected: - void copy(const symbol & other); - void destroy(bool call_parent); - // other ctors public: explicit symbol(const std::string & initname); @@ -72,12 +59,8 @@ public: // functions overriding virtual functions from base classes public: - basic * duplicate() const; void print(const print_context & c, unsigned level = 0) const; bool info(unsigned inf) const; - int degree(const ex & s) const; - int ldegree(const ex & s) const; - ex coeff(const ex & s, int n = 1) const; ex eval(int level = 0) const; ex evalf(int level = 0) const { return *this; } // overwrites basic::evalf() for performance reasons ex series(const relational & s, int order, unsigned options = 0) const; @@ -85,7 +68,6 @@ public: ex to_rational(lst &repl_lst) const; protected: ex derivative(const symbol & s) const; - int compare_same_type(const basic & other) const; bool is_equal_same_type(const basic & other) const; unsigned calchash(void) const; @@ -113,18 +95,6 @@ private: // utility functions -/** Return the symbol object handled by an ex. Deprecated: use ex_to(). - * This is unsafe: you need to check the type first. */ -inline const symbol &ex_to_symbol(const ex &e) -{ - return static_cast(*e.bp); -} - -inline symbol &ex_to_nonconst_symbol(const ex &e) -{ - return static_cast(*e.bp); -} - /** Specialization of is_exactly_a(obj) for symbol objects. */ template<> inline bool is_exactly_a(const basic & obj) {