43 explicit symbol(
const std::string & initname);
44 symbol(
const std::string & initname,
const std::string & texname);
48 bool info(
unsigned inf)
const override;
49 ex eval()
const override {
return *
this; }
50 ex evalf()
const override {
return *
this; }
102 explicit realsymbol(
const std::string & initname);
103 realsymbol(
const std::string & initname,
const std::string & texname);
126 explicit possymbol(
const std::string & initname);
127 possymbol(
const std::string & initname,
const std::string & texname);
Archiving of GiNaC expressions.
Interface to GiNaC's ABC.
This class stores all properties needed to record/retrieve the state of one object of class basic (or...
This class is the ABC (abstract base class) of GiNaC's class hierarchy.
const basic & setflag(unsigned f) const
Set some status_flags.
ex subs_one_level(const exmap &m, unsigned options) const
Helper function for subs().
Wrapper template for making GiNaC classes out of STL containers.
Lightweight wrapper for GiNaC's symbolic objects.
Specialization of symbol to real positive domain.
possymbol * duplicate() const override
Create a clone of this object on the heap.
unsigned get_domain() const override
Base class for print_contexts.
Context for latex-parsable output.
Context for python-parsable output.
Context for tree-like output for debugging.
Specialization of symbol to real domain.
ex real_part() const override
unsigned get_domain() const override
realsymbol * duplicate() const override
Create a clone of this object on the heap.
ex imag_part() const override
ex conjugate() const override
This class holds a relation consisting of two expressions and a logical relation between them.
@ dynallocated
heap-allocated (i.e. created by new if we want to be clever and bypass the stack,
unsigned serial
unique serial number for comparison
std::string TeX_name
LaTeX name of this symbol.
void set_name(const std::string &n)
void read_archive(const archive_node &n, lst &syms) override
Read (a.k.a.
static unsigned next_serial
ex to_rational(exmap &repl) const override
Implementation of ex::to_rational() for symbols.
symbol(const std::string &initname)
bool is_polynomial(const ex &var) const override
Check whether this is a polynomial in the given variables.
virtual unsigned get_domain() const
void do_print_python_repr(const print_python_repr &c, unsigned level) const
ex eval() const override
Perform automatic non-interruptive term rewriting rules.
ex normal(exmap &repl, exmap &rev_lookup, lst &modifier) const override
Implementation of ex::normal() for symbols.
bool is_equal_same_type(const basic &other) const override
Returns true if two objects of same type are equal.
std::string get_TeX_name() const
unsigned calchash() const override
Compute the hash value of an object and if it makes sense to store it in the objects status_flags,...
ex evalf() const override
Evaluate object numerically.
ex series(const relational &s, int order, unsigned options=0) const override
Implementation of ex::series() for symbols.
ex real_part() const override
void do_print(const print_context &c, unsigned level) const
void do_print_tree(const print_tree &c, unsigned level) const
ex to_polynomial(exmap &repl) const override
Implementation of ex::to_polynomial() for symbols.
ex conjugate() const override
void archive(archive_node &n) const override
Save (a.k.a.
ex derivative(const symbol &s) const override
Implementation of ex::diff() for single differentiation of a symbol.
void do_print_latex(const print_latex &c, unsigned level) const
std::string name
printname of this symbol
bool info(unsigned inf) const override
Information about the object.
std::string get_name() const
ex subs(const exmap &m, unsigned options=0) const override
Substitute a set of objects by arbitrary expressions.
void set_TeX_name(const std::string &n)
ex imag_part() const override
Interface to GiNaC's light-weight expression handles.
std::map< ex, ex, ex_is_less > exmap
GINAC_DECLARE_UNARCHIVER(add)
Reference-counted pointer template.
#define GINAC_DECLARE_REGISTERED_CLASS(classname, supername)
Macro for inclusion in the declaration of each registered class.