* 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
* first place. */
class symbol : public basic
{
- GINAC_DECLARE_REGISTERED_CLASS_NO_CTORS(symbol, basic)
+ GINAC_DECLARE_REGISTERED_CLASS(symbol, basic)
// types
// 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);
// 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;
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;