X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Finifcns.cpp;h=fbdceb708c9e7d22795e540051499a6a519ae1f2;hb=5136cb28833944aedbd47e1f66cd4a103e6697b1;hp=d5e9275b54ee1f482745fdfc1d8f06e9656d0995;hpb=703c6cebb5d3d395437e73e6935f3691aed68e0a;p=ginac.git diff --git a/ginac/inifcns.cpp b/ginac/inifcns.cpp index d5e9275b..fbdceb70 100644 --- a/ginac/inifcns.cpp +++ b/ginac/inifcns.cpp @@ -3,7 +3,7 @@ * 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 @@ -37,9 +37,7 @@ #include "symbol.h" #include "utils.h" -#ifndef NO_NAMESPACE_GINAC namespace GiNaC { -#endif // ndef NO_NAMESPACE_GINAC ////////// // absolute value @@ -63,7 +61,7 @@ static ex abs_eval(const ex & arg) } REGISTER_FUNCTION(abs, eval_func(abs_eval). - evalf_func(abs_evalf)); + evalf_func(abs_evalf)); ////////// @@ -108,13 +106,14 @@ static ex csgn_eval(const ex & arg) } 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; @@ -123,8 +122,8 @@ static ex csgn_series(const ex & arg, } REGISTER_FUNCTION(csgn, eval_func(csgn_eval). - evalf_func(csgn_evalf). - series_func(csgn_series)); + evalf_func(csgn_evalf). + series_func(csgn_series)); ////////// @@ -159,10 +158,10 @@ static ex eta_eval(const ex & x, const ex & y) } 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); @@ -177,8 +176,8 @@ static ex eta_series(const ex & arg1, } REGISTER_FUNCTION(eta, eval_func(eta_eval). - evalf_func(eta_evalf). - series_func(eta_series)); + evalf_func(eta_evalf). + series_func(eta_series)); ////////// @@ -314,9 +313,9 @@ static ex Li2_series(const ex &x, const relational &rel, int order, unsigned opt } 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 @@ -349,7 +348,7 @@ static ex factorial_eval(const ex & x) } REGISTER_FUNCTION(factorial, eval_func(factorial_eval). - evalf_func(factorial_evalf)); + evalf_func(factorial_evalf)); ////////// // binomial @@ -369,7 +368,7 @@ static ex binomial_eval(const ex & x, const ex &y) } REGISTER_FUNCTION(binomial, eval_func(binomial_eval). - evalf_func(binomial_evalf)); + evalf_func(binomial_evalf)); ////////// // Order term function (for truncated power series) @@ -405,7 +404,7 @@ static ex Order_series(const ex & x, const relational & r, int order, unsigned o // 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 @@ -489,7 +488,7 @@ ex lsolve(const ex &eqns, const ex &symbols) 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(); @@ -526,6 +525,4 @@ ex ncpower(const ex &basis, unsigned exponent) 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