23#ifndef GINAC_CONSTANT_H
24#define GINAC_CONSTANT_H
50 bool info(
unsigned inf)
const override;
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.
This class holds constants, symbols with specific numerical value.
ex number
numerical value this constant evalf()s to
ex evalf() const override
Evaluate object numerically.
std::string name
printname of this constant
void read_archive(const archive_node &n, lst &syms) override
Load (deserialize) the object from an archive node.
unsigned serial
unique serial number for comparison
void do_print_latex(const print_latex &c, unsigned level) const
bool is_equal_same_type(const basic &other) const override
Returns true if two objects of same type are equal.
void archive(archive_node &n) const override
Save (serialize) the object into archive node.
void do_print(const print_context &c, unsigned level) const
std::string TeX_name
LaTeX name.
bool info(unsigned inf) const override
Information about the object.
ex real_part() const override
static unsigned next_serial
ex derivative(const symbol &s) const override
Implementation of ex::diff() for a constant always returns 0.
void do_print_python_repr(const print_python_repr &c, unsigned level) const
unsigned domain
numerical value this constant evalf()s to
void do_print_tree(const print_tree &c, unsigned level) 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,...
constant(const std::string &initname, evalffunctype efun=nullptr, const std::string &texname=std::string(), unsigned domain=domain::complex)
bool is_polynomial(const ex &var) const override
Check whether this is a polynomial in the given variables.
ex conjugate() const override
ex imag_part() const override
Wrapper template for making GiNaC classes out of STL containers.
Lightweight wrapper for GiNaC's symbolic objects.
This class is a wrapper around CLN-numbers within the GiNaC class hierarchy.
Base class for print_contexts.
Context for latex-parsable output.
Context for python-parsable output.
Context for tree-like output for debugging.
Interface to GiNaC's light-weight expression handles.
const constant Euler("Euler", EulerEvalf, "\\gamma_E", domain::positive)
Euler's constant.
GINAC_DECLARE_UNARCHIVER(add)
const constant Pi("Pi", PiEvalf, "\\pi", domain::positive)
Pi.
const constant Catalan("Catalan", CatalanEvalf, "G", domain::positive)
Catalan's constant.
#define GINAC_DECLARE_REGISTERED_CLASS(classname, supername)
Macro for inclusion in the declaration of each registered class.