* Implementation of GiNaC's initially known functions. */
/*
- * GiNaC Copyright (C) 1999-2000 Johannes Gutenberg University Mainz, Germany
+ * GiNaC Copyright (C) 1999-2001 Johannes Gutenberg University Mainz, Germany
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include "symbol.h"
#include "utils.h"
-#ifndef NO_NAMESPACE_GINAC
namespace GiNaC {
-#endif // ndef NO_NAMESPACE_GINAC
//////////
// absolute value
}
REGISTER_FUNCTION(abs, eval_func(abs_eval).
- evalf_func(abs_evalf));
+ evalf_func(abs_evalf));
//////////
}
static ex csgn_series(const ex & arg,
- const relational & rel,
- int order,
- unsigned options)
+ const relational & rel,
+ int order,
+ unsigned options)
{
const ex arg_pt = arg.subs(rel);
- if (arg_pt.info(info_flags::numeric) &&
- ex_to_numeric(arg_pt).real().is_zero())
+ if (arg_pt.info(info_flags::numeric)
+ && ex_to_numeric(arg_pt).real().is_zero()
+ && !(options & series_options::suppress_branchcut))
throw (std::domain_error("csgn_series(): on imaginary axis"));
epvector seq;
}
REGISTER_FUNCTION(csgn, eval_func(csgn_eval).
- evalf_func(csgn_evalf).
- series_func(csgn_series));
+ evalf_func(csgn_evalf).
+ series_func(csgn_series));
//////////
}
static ex eta_series(const ex & arg1,
- const ex & arg2,
- const relational & rel,
- int order,
- unsigned options)
+ const ex & arg2,
+ const relational & rel,
+ int order,
+ unsigned options)
{
const ex arg1_pt = arg1.subs(rel);
const ex arg2_pt = arg2.subs(rel);
}
REGISTER_FUNCTION(eta, eval_func(eta_eval).
- evalf_func(eta_evalf).
- series_func(eta_series));
+ evalf_func(eta_evalf).
+ series_func(eta_series));
//////////
}
REGISTER_FUNCTION(Li2, eval_func(Li2_eval).
- evalf_func(Li2_evalf).
- derivative_func(Li2_deriv).
- series_func(Li2_series));
+ evalf_func(Li2_evalf).
+ derivative_func(Li2_deriv).
+ series_func(Li2_series));
//////////
// trilogarithm
}
REGISTER_FUNCTION(factorial, eval_func(factorial_eval).
- evalf_func(factorial_evalf));
+ evalf_func(factorial_evalf));
//////////
// binomial
}
REGISTER_FUNCTION(binomial, eval_func(binomial_eval).
- evalf_func(binomial_evalf));
+ evalf_func(binomial_evalf));
//////////
// Order term function (for truncated power series)
// Differentiation is handled in function::derivative because of its special requirements
REGISTER_FUNCTION(Order, eval_func(Order_eval).
- series_func(Order_series));
+ series_func(Order_series));
//////////
// Inert partial differentiation operator
matrix solution;
try {
solution = sys.solve(vars,rhs);
- } catch (const runtime_error & e) {
+ } catch (const std::runtime_error & e) {
// Probably singular matrix or otherwise overdetermined system:
// It is consistent to return an empty list
return lst();
unsigned force_include_tgamma = function_index_tgamma;
unsigned force_include_zeta1 = function_index_zeta1;
-#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
-#endif // ndef NO_NAMESPACE_GINAC