X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Finifcns_nstdsums.cpp;h=4312377f10cf2d868972db41a56dac127973855d;hb=9c2ce1cc26735e268aae8142d9e5dbc5a9ba8ca3;hp=8212077f39f0c2b4858bf27233cd7909e2d9a9f1;hpb=4c47ecd9caa39ba1a31f5294e395fcbdf2006431;p=ginac.git diff --git a/ginac/inifcns_nstdsums.cpp b/ginac/inifcns_nstdsums.cpp index 8212077f..4312377f 100644 --- a/ginac/inifcns_nstdsums.cpp +++ b/ginac/inifcns_nstdsums.cpp @@ -47,7 +47,7 @@ */ /* - * GiNaC Copyright (C) 1999-2008 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2010 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 @@ -64,11 +64,6 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include -#include -#include -#include - #include "inifcns.h" #include "add.h" @@ -84,6 +79,10 @@ #include "utils.h" #include "wildcard.h" +#include +#include +#include +#include namespace GiNaC { @@ -570,11 +569,12 @@ ex G_eval(const Gparameter& a, int scale, const exvector& gsyms) Gparameter newa; Gparameter::const_iterator it2 = short_a.begin(); - for (--it2; it2 != it;) { - ++it2; + for (; it2 != it; ++it2) { newa.push_back(*it2); } + newa.push_back(*it); newa.push_back(a[0]); + it2 = it; ++it2; for (; it2 != short_a.end(); ++it2) { newa.push_back(*it2); @@ -659,6 +659,8 @@ Gparameter::const_iterator check_parameter_G(const Gparameter& a, int scale, ++trailing_zeros; } } + if (lastnonzero == a.end()) + return a.end(); return ++lastnonzero; } @@ -1684,7 +1686,7 @@ static void Li_print_latex(const ex& m_, const ex& x_, const print_context& c) } else { x = lst(x_); } - c.s << "\\mbox{Li}_{"; + c.s << "\\mathrm{Li}_{"; lst::const_iterator itm = m.begin(); (*itm).print(c); itm++; @@ -2200,7 +2202,7 @@ static ex S_deriv(const ex& n, const ex& p, const ex& x, unsigned deriv_param) static void S_print_latex(const ex& n, const ex& p, const ex& x, const print_context& c) { - c.s << "\\mbox{S}_{"; + c.s << "\\mathrm{S}_{"; n.print(c); c.s << ","; p.print(c); @@ -3406,7 +3408,7 @@ static void H_print_latex(const ex& m_, const ex& x, const print_context& c) } else { m = lst(m_); } - c.s << "\\mbox{H}_{"; + c.s << "\\mathrm{H}_{"; lst::const_iterator itm = m.begin(); (*itm).print(c); itm++;