From: Stefan Weinzierl Date: Sun, 12 Jan 2014 22:07:28 +0000 (+0000) Subject: Within mLi_numeric, set signs of the imaginary parts correctly for G_numeric. X-Git-Tag: release_1-6-3~28 X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=commitdiff_plain;h=9a69e9de24bc228830b5cdf02648edd860e04f8e;ds=sidebyside Within mLi_numeric, set signs of the imaginary parts correctly for G_numeric. --- diff --git a/ginac/inifcns_nstdsums.cpp b/ginac/inifcns_nstdsums.cpp index 7487b314..043d93a8 100644 --- a/ginac/inifcns_nstdsums.cpp +++ b/ginac/inifcns_nstdsums.cpp @@ -1201,9 +1201,14 @@ ex mLi_numeric(const lst& m, const lst& x) s.push_back(1); } const cln::cl_N xi = ex_to(*itx).to_cl_N(); - newx.push_back(factor/xi); factor = factor/xi; - s.push_back(1); + newx.push_back(factor); + if ( !instanceof(factor, cln::cl_R_ring) && imagpart(factor) < 0 ) { + s.push_back(-1); + } + else { + s.push_back(1); + } } return numeric(cln::cl_N(1 & m.nops() ? - 1 : 1)*G_numeric(newx, s, cln::cl_N(1))); }