X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Finifcns.cpp;h=0daa97989abf8260202a0db99cfb572f576379ec;hb=ac58769a3265fa850c74f5d601b6f68077276d84;hp=d5e9275b54ee1f482745fdfc1d8f06e9656d0995;hpb=703c6cebb5d3d395437e73e6935f3691aed68e0a;p=ginac.git diff --git a/ginac/inifcns.cpp b/ginac/inifcns.cpp index d5e9275b..0daa9798 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,9 @@ 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). + latex_name("\\eta")); ////////// @@ -314,9 +314,10 @@ 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). + latex_name("\\mbox{Li}_2")); ////////// // trilogarithm @@ -329,7 +330,8 @@ static ex Li3_eval(const ex & x) return Li3(x).hold(); } -REGISTER_FUNCTION(Li3, eval_func(Li3_eval)); +REGISTER_FUNCTION(Li3, eval_func(Li3_eval). + latex_name("\\mbox{Li}_3")); ////////// // factorial @@ -349,7 +351,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 +371,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 +407,8 @@ 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). + latex_name("\\mathcal{O}")); ////////// // Inert partial differentiation operator @@ -489,7 +492,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 +529,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