static const char *orig_basic_word_break_characters;
#endif
-// Expression stack for ", "" and """
+// Expression stack for %, %% and %%%
static void push(const ex &e);
static ex exstack[3];
static ex f_charpoly(const exprseq &e)
{
CHECK_ARG(0, matrix, charpoly);
- CHECK_ARG(1, symbol, charpoly);
- return ex_to<matrix>(e[0]).charpoly(ex_to<symbol>(e[1]));
+ return ex_to<matrix>(e[0]).charpoly(e[1]);
}
static ex f_coeff(const exprseq &e)
static ex f_content(const exprseq &e)
{
- CHECK_ARG(1, symbol, content);
- return e[0].content(ex_to<symbol>(e[1]));
+ return e[0].content(e[1]);
}
static ex f_decomp_rational(const exprseq &e)
{
- CHECK_ARG(1, symbol, decomp_rational);
- return decomp_rational(e[0], ex_to<symbol>(e[1]));
+ return decomp_rational(e[0], e[1]);
}
static ex f_determinant(const exprseq &e)
static ex f_diag(const exprseq &e)
{
- unsigned dim = e.nops();
+ size_t dim = e.nops();
matrix &m = *new matrix(dim, dim);
- for (unsigned i=0; i<dim; i++)
+ for (size_t i=0; i<dim; i++)
m.set(i, i, e.op(i));
return m;
}
static ex f_prem(const exprseq &e)
{
- CHECK_ARG(2, symbol, prem);
- return prem(e[0], e[1], ex_to<symbol>(e[2]));
+ return prem(e[0], e[1], e[2]);
}
static ex f_primpart(const exprseq &e)
{
- CHECK_ARG(1, symbol, primpart);
- return e[0].primpart(ex_to<symbol>(e[1]));
+ return e[0].primpart(e[1]);
}
static ex f_quo(const exprseq &e)
{
- CHECK_ARG(2, symbol, quo);
- return quo(e[0], e[1], ex_to<symbol>(e[2]));
+ return quo(e[0], e[1], e[2]);
}
static ex f_rem(const exprseq &e)
{
- CHECK_ARG(2, symbol, rem);
- return rem(e[0], e[1], ex_to<symbol>(e[2]));
+ return rem(e[0], e[1], e[2]);
}
static ex f_series(const exprseq &e)
static ex f_sprem(const exprseq &e)
{
- CHECK_ARG(2, symbol, sprem);
- return sprem(e[0], e[1], ex_to<symbol>(e[2]));
+ return sprem(e[0], e[1], e[2]);
}
static ex f_sqrfree2(const exprseq &e)
static ex f_unit(const exprseq &e)
{
- CHECK_ARG(1, symbol, unit);
- return e[0].unit(ex_to<symbol>(e[1]));
+ return e[0].unit(e[1]);
}
static ex f_dummy(const exprseq &e)
{"sinh", "hyperbolic sine function"},
{"tan", "tangent function"},
{"tanh", "hyperbolic tangent function"},
- {"zeta", "zeta function\nzeta(x) is Riemann's zeta function, zeta(n,x) its nth derivative"},
+ {"zeta", "zeta function\nzeta(x) is Riemann's zeta function, zetaderiv(n,x) its nth derivative.\nIf x is a GiNaC::lst, it is a multiple zeta value\nzeta(x,s) is an alternating Euler sum"},
{"Li2", "dilogarithm"},
{"Li3", "trilogarithm"},
+ {"Li", "(multiple) polylogarithm"},
+ {"S", "Nielsen's generalized polylogarithm"},
+ {"H", "harmonic polylogarithm"},
{"Order", "order term function (for truncated power series)"},
{"Derivative", "inert differential operator"},
{NULL, NULL} // End marker