32#if !defined(GINAC_LST_H) && !defined(GINAC_REGISTRAR_H)
39 template<
typename Type>
83 size_t nops()
const override {
return 0; }
86 bool has(
const ex & other,
unsigned options = 0)
const override;
87 bool match(
const ex & pattern,
exmap& repl_lst)
const override;
135 static long to_integer(
const ex& expr,
const bool allow_negative);
Archiving of GiNaC expressions.
#define GINAC_DECLARE_UNARCHIVER(classname)
Helper macros to register a class with (un)archiving (a.k.a.
Interface to GiNaC's ABC.
Elliptic Multiple Polylogarithm.
std::vector< ex > decomposeIntegrationPath(const ex *points=nullptr) const
static void clear_polylog_cache()
std::vector< kernel > args
static ex ex_zisToFundamental(const ex &expr, const ex *points=nullptr)
static numeric ex_qExpand(const ex &expr, const ex *points=nullptr)
bool match(const ex &pattern, exmap &repl_lst) const override
Check whether the expression matches a given pattern.
static ex ex_prepare(const ex &expr, const ex *points=nullptr)
matrix findMoebiusTransform(const ex *points=nullptr) const
ex subs(const exmap &m, unsigned options=0) const override
Substitute a set of objects by arbitrary expressions.
const std::vector< kernel > & getArgs() const
static ex apply_function_recursive(const ex &input, const std::function< ex(const Gt &)> &func)
const ex & getTau() const
unsigned precedence() const override
Return relative operator precedence (for parenthezing output).
static ex ex_cutIntegrationPath(const ex &expr, const ex *points=nullptr)
void setArgs(const ex &args)
static long to_integer(const ex &expr, const bool allow_negative)
numeric qExpand(const ex *points=nullptr) 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,...
size_t nops() const override
Number of operands/members.
static double cutIntegrationPath_threshold_imag
ex eval() const override
Perform automatic non-interruptive term rewriting rules.
void do_print_latex(const print_latex &c, unsigned level) const
ex regularise(const ex *points=nullptr) const
static lst lst_evaluate(const lst &list, const ex *points=nullptr)
static ex ex_tauToFundamental(const ex &expr, const ex *points=nullptr)
ex evalf() const override
Evaluate object numerically.
void do_print(const print_context &c, unsigned level) const
static Gt_detail::TransformExpressionWithCache< G2_SERIAL > nqexand_transformer
void read_archive(const archive_node &n, lst &syms) override
Read (a.k.a.
static size_t qExpand_minOrder
static numeric to_numeric(const ex &expr, const ex *points=nullptr)
static bool auto_clear_polylog_cache
static bool enable_tauToFundamental
ex tauToFundamental(const ex *points=nullptr) const
ex zisToFundamental(const ex *points=nullptr) const
static size_t qExpand_stepSize
numeric evaluate(const ex *points=nullptr) const
bool has(const ex &other, unsigned options=0) const override
Test for occurrence of a pattern.
static numeric ex_evaluate(const ex &expr, const ex *points=nullptr)
static double cutIntegrationPath_threshold_real
ex applyIntegrationPath(const std::vector< ex > &endpoints) const
static ex ex_regularise(const ex &expr, const ex *points=nullptr)
This class stores all properties needed to record/retrieve the state of one object of class basic (or...
This class holds archived versions of GiNaC expressions (class ex).
This class is the ABC (abstract base class) of GiNaC's class hierarchy.
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.
Interface to GiNaC's light-weight expression handles.
container< std::list > lst
std::map< ex, ex, ex_is_less > exmap
#define GINAC_DECLARE_REGISTERED_CLASS(classname, supername)
Macro for inclusion in the declaration of each registered class.