X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Finifcns_trans.cpp;h=cbf370dbb16542f1be19e16566a547a998e90f01;hp=00fc2efd19e70477fce747c43d311db9b7e7b6d2;hb=70a32266cc1ada19b307b859305f215b5297bc7c;hpb=a873869942dcf50989760464a190949e5ad32bbe;ds=sidebyside diff --git a/ginac/inifcns_trans.cpp b/ginac/inifcns_trans.cpp index 00fc2efd..cbf370db 100644 --- a/ginac/inifcns_trans.cpp +++ b/ginac/inifcns_trans.cpp @@ -57,7 +57,7 @@ static ex exp_eval(const ex & x) // exp(n*Pi*I/2) -> {+1|+I|-1|-I} const ex TwoExOverPiI=(_ex2*x)/(Pi*I); if (TwoExOverPiI.info(info_flags::integer)) { - numeric z = mod(ex_to(TwoExOverPiI),_num4); + const numeric z = mod(ex_to(TwoExOverPiI),_num4); if (z.is_equal(_num0)) return _ex1; if (z.is_equal(_num1)) @@ -122,9 +122,9 @@ static ex log_eval(const ex & x) } // log(exp(t)) -> t (if -Pi < t.imag() <= Pi): if (is_ex_the_function(x, exp)) { - ex t = x.op(0); + const ex &t = x.op(0); if (t.info(info_flags::numeric)) { - numeric nt = ex_to(t); + const numeric &nt = ex_to(t); if (nt.is_real()) return t; } @@ -177,7 +177,7 @@ static ex log_series(const ex &arg, } while (!argser.is_terminating() && argser.nops()==1); const symbol &s = ex_to(rel.lhs()); - const ex point = rel.rhs(); + const ex &point = rel.rhs(); const int n = argser.ldegree(s); epvector seq; // construct what we carelessly called the n*log(x) term above @@ -203,7 +203,7 @@ static ex log_series(const ex &arg, // This is the branch cut: assemble the primitive series manually and // then add the corresponding complex step function. const symbol &s = ex_to(rel.lhs()); - const ex point = rel.rhs(); + const ex &point = rel.rhs(); const symbol foo; const ex replarg = series(log(arg), s==foo, order).subs(foo==point); epvector seq; @@ -269,7 +269,7 @@ static ex sin_eval(const ex & x) } if (is_exactly_a(x)) { - ex t = x.op(0); + const ex &t = x.op(0); // sin(asin(x)) -> x if (is_ex_the_function(x, asin)) return t; @@ -350,7 +350,7 @@ static ex cos_eval(const ex & x) } if (is_exactly_a(x)) { - ex t = x.op(0); + const ex &t = x.op(0); // cos(acos(x)) -> x if (is_ex_the_function(x, acos)) return t; @@ -427,7 +427,7 @@ static ex tan_eval(const ex & x) } if (is_exactly_a(x)) { - ex t = x.op(0); + const ex &t = x.op(0); // tan(atan(x)) -> x if (is_ex_the_function(x, atan)) return t; @@ -648,7 +648,7 @@ static ex atan_series(const ex &arg, // This is the branch cut: assemble the primitive series manually and // then add the corresponding complex step function. const symbol &s = ex_to(rel.lhs()); - const ex point = rel.rhs(); + const ex &point = rel.rhs(); const symbol foo; const ex replarg = series(atan(arg), s==foo, order).subs(foo==point); ex Order0correction = replarg.op(0)+csgn(arg)*Pi*_ex_1_2; @@ -734,7 +734,7 @@ static ex sinh_eval(const ex & x) return I*sin(x/I); if (is_exactly_a(x)) { - ex t = x.op(0); + const ex &t = x.op(0); // sinh(asinh(x)) -> x if (is_ex_the_function(x, asinh)) return t; @@ -788,7 +788,7 @@ static ex cosh_eval(const ex & x) return cos(x/I); if (is_exactly_a(x)) { - ex t = x.op(0); + const ex &t = x.op(0); // cosh(acosh(x)) -> x if (is_ex_the_function(x, acosh)) return t; @@ -842,7 +842,7 @@ static ex tanh_eval(const ex & x) return I*tan(x/I); if (is_exactly_a(x)) { - ex t = x.op(0); + const ex &t = x.op(0); // tanh(atanh(x)) -> x if (is_ex_the_function(x, atanh)) return t; @@ -1033,7 +1033,7 @@ static ex atanh_series(const ex &arg, // This is the branch cut: assemble the primitive series manually and // then add the corresponding complex step function. const symbol &s = ex_to(rel.lhs()); - const ex point = rel.rhs(); + const ex &point = rel.rhs(); const symbol foo; const ex replarg = series(atanh(arg), s==foo, order).subs(foo==point); ex Order0correction = replarg.op(0)+csgn(I*arg)*Pi*I*_ex1_2;