From 2f683bcc8e46ad4faf224fcda218626cf3e8753b Mon Sep 17 00:00:00 2001 From: Christian Bauer Date: Thu, 20 Feb 2003 21:19:31 +0000 Subject: [PATCH] function_options::do_not_evalf_params() now actually works --- ginac/function.pl | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/ginac/function.pl b/ginac/function.pl index 76025274..b72a62c1 100755 --- a/ginac/function.pl +++ b/ginac/function.pl @@ -769,28 +769,31 @@ ex function::evalf(int level) const { GINAC_ASSERT(serialevalf(level)); - ++it; + --level; + exvector::const_iterator it = seq.begin(), itend = seq.end(); + while (it != itend) { + eseq.push_back(it->evalf(level)); + ++it; + } } - - if (registered_functions()[serial].evalf_f==0) { + + if (opt.evalf_f==0) { return function(serial,eseq).hold(); } current_serial = serial; - if (registered_functions()[serial].evalf_use_exvector_args) - return ((evalf_funcp_exvector)(registered_functions()[serial].evalf_f))(seq); - switch (registered_functions()[serial].nparams) { + if (opt.evalf_use_exvector_args) + return ((evalf_funcp_exvector)(opt.evalf_f))(seq); + switch (opt.nparams) { // the following lines have been generated for max. ${maxargs} parameters ${evalf_switch_statement} // end of generated lines -- 2.44.0