32#if !defined(GINAC_LST_H) && !defined(GINAC_REGISTRAR_H)
39 template<
typename Type>
83 size_t nops()
const override {
return 0; }
84 ex subs(
const exmap & m,
unsigned options = 0)
const override;
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.
Generalized multiple polylogarithm.
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
void archive(archive_node &n) const override
Save (a.k.a.
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
Gt(const ex &args, const ex &z, const ex &tau)
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...
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.