22#ifndef GINAC_RELATIONAL_H
23#define GINAC_RELATIONAL_H
55 bool info(
unsigned inf)
const override;
56 size_t nops()
const override;
57 ex op(
size_t i)
const override;
59 ex subs(
const exmap & m,
unsigned options = 0)
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.
Lightweight wrapper for GiNaC's symbolic objects.
Base class for print_contexts.
Context for python-parsable output.
This class holds a relation consisting of two expressions and a logical relation between them.
void read_archive(const archive_node &n, lst &syms) override
Read (a.k.a.
safe_bool make_safe_bool(bool) const
relational(const ex &lhs, const ex &rhs, operators oper=equal)
ex canonical() const
Returns an equivalent relational with zero right-hand side.
void do_print(const print_context &c, unsigned level) const
unsigned precedence() const override
Return relative operator precedence (for parenthezing output).
return_type_t return_type_tinfo() const override
bool match_same_type(const basic &other) const override
Returns true if the attributes of two objects are similar enough for a match.
unsigned calchash() const override
Compute the hash value of an object and if it makes sense to store it in the objects status_flags,...
unsigned return_type() const override
ex eval_ncmul(const exvector &v) const override
void(safe_bool_helper::*) safe_bool()
safe_bool operator!() const
ex map(map_function &f) const override
Construct new expression by applying the specified function to all sub-expressions (one level only,...
void do_print_python_repr(const print_python_repr &c, unsigned level) const
bool info(unsigned inf) const override
Information about the object.
Interface to GiNaC's light-weight expression handles.
container< std::list > lst
std::map< ex, ex, ex_is_less > exmap
GINAC_DECLARE_UNARCHIVER(add)
ex subs(const ex &thisex, const exmap &m, unsigned options=0)
ex op(const ex &thisex, size_t i)
std::vector< ex > exvector
size_t nops(const ex &thisex)
#define GINAC_DECLARE_REGISTERED_CLASS(classname, supername)
Macro for inclusion in the declaration of each registered class.
Function object for map().
To distinguish between different kinds of non-commutative objects.