From bb68d77b93ad9aab1be3705e052d7091cee94d56 Mon Sep 17 00:00:00 2001 From: Richard Kreckel Date: Thu, 25 Feb 2016 22:12:28 +0100 Subject: [PATCH] Use C++11 'auto' and range-based for loops where possible. --- ginac/archive.cpp | 28 +-- ginac/archive.h | 1 - ginac/basic.cpp | 2 +- ginac/clifford.cpp | 30 +-- ginac/color.cpp | 2 +- ginac/ex.cpp | 2 +- ginac/expairseq.cpp | 2 +- ginac/fderivative.cpp | 12 +- ginac/function.cppy | 4 +- ginac/idx.cpp | 4 +- ginac/inifcns_nstdsums.cpp | 291 ++++++++++++-------------- ginac/integral.cpp | 2 +- ginac/ncmul.cpp | 2 +- ginac/normal.cpp | 2 +- ginac/operators.cpp | 12 +- ginac/parser/default_reader.cpp | 3 +- ginac/parser/parser.cpp | 2 +- ginac/polynomial/collect_vargs.cpp | 4 +- ginac/polynomial/primpart_content.cpp | 2 +- ginac/power.cpp | 6 +- ginac/pseries.cpp | 2 +- ginac/remember.cpp | 10 +- ginsh/ginsh_parser.ypp | 4 +- 23 files changed, 206 insertions(+), 223 deletions(-) diff --git a/ginac/archive.cpp b/ginac/archive.cpp index 27ebfb89..566c0c13 100644 --- a/ginac/archive.cpp +++ b/ginac/archive.cpp @@ -54,7 +54,7 @@ archive_node_id archive::add_node(const archive_node &n) { // Look if expression is known to be in some node already. if (n.has_ex()) { - mapit i = exprtable.find(n.get_ex()); + auto i = exprtable.find(n.get_ex()); if (i != exprtable.end()) return i->second; nodes.push_back(n); @@ -83,7 +83,7 @@ ex archive::unarchive_ex(const lst &sym_lst, const char *name) const // Find root node std::string name_string = name; archive_atom id = atomize(name_string); - std::vector::const_iterator i = exprs.begin(), iend = exprs.end(); + auto i = exprs.begin(), iend = exprs.end(); while (i != iend) { if (i->name == id) goto found; @@ -360,7 +360,7 @@ archive_node::archive_node_cit archive_node::find_first(const std::string &name) const { archive_atom name_atom = a.atomize(name); - for (archive_node_cit i=props.begin(); i!=props.end(); ++i) + for (auto i=props.begin(); i!=props.end(); ++i) if (i->name == name_atom) return i; return props.end();; @@ -370,7 +370,7 @@ archive_node::archive_node_cit archive_node::find_last(const std::string &name) const { archive_atom name_atom = a.atomize(name); - for (archive_node_cit i=props.end(); i!=props.begin();) { + for (auto i=props.end(); i!=props.begin();) { --i; if (i->name == name_atom) return i; @@ -404,7 +404,7 @@ void archive_node::add_ex(const std::string &name, const ex &value) bool archive_node::find_bool(const std::string &name, bool &ret, unsigned index) const { archive_atom name_atom = a.atomize(name); - archive_node_cit i = props.begin(), iend = props.end(); + auto i = props.begin(), iend = props.end(); unsigned found_index = 0; while (i != iend) { if (i->type == PTYPE_BOOL && i->name == name_atom) { @@ -422,7 +422,7 @@ bool archive_node::find_bool(const std::string &name, bool &ret, unsigned index) bool archive_node::find_unsigned(const std::string &name, unsigned &ret, unsigned index) const { archive_atom name_atom = a.atomize(name); - archive_node_cit i = props.begin(), iend = props.end(); + auto i = props.begin(), iend = props.end(); unsigned found_index = 0; while (i != iend) { if (i->type == PTYPE_UNSIGNED && i->name == name_atom) { @@ -440,7 +440,7 @@ bool archive_node::find_unsigned(const std::string &name, unsigned &ret, unsigne bool archive_node::find_string(const std::string &name, std::string &ret, unsigned index) const { archive_atom name_atom = a.atomize(name); - archive_node_cit i = props.begin(), iend = props.end(); + auto i = props.begin(), iend = props.end(); unsigned found_index = 0; while (i != iend) { if (i->type == PTYPE_STRING && i->name == name_atom) { @@ -464,7 +464,7 @@ void archive_node::find_ex_by_loc(archive_node_cit loc, ex &ret, lst &sym_lst) bool archive_node::find_ex(const std::string &name, ex &ret, lst &sym_lst, unsigned index) const { archive_atom name_atom = a.atomize(name); - archive_node_cit i = props.begin(), iend = props.end(); + auto i = props.begin(), iend = props.end(); unsigned found_index = 0; while (i != iend) { if (i->type == PTYPE_NODE && i->name == name_atom) { @@ -482,7 +482,7 @@ bool archive_node::find_ex(const std::string &name, ex &ret, lst &sym_lst, unsig const archive_node &archive_node::find_ex_node(const std::string &name, unsigned index) const { archive_atom name_atom = a.atomize(name); - archive_node_cit i = props.begin(), iend = props.end(); + auto i = props.begin(), iend = props.end(); unsigned found_index = 0; while (i != iend) { if (i->type == PTYPE_NODE && i->name == name_atom) { @@ -499,12 +499,12 @@ const archive_node &archive_node::find_ex_node(const std::string &name, unsigned void archive_node::get_properties(propinfovector &v) const { v.clear(); - archive_node_cit i = props.begin(), iend = props.end(); + auto i = props.begin(), iend = props.end(); while (i != iend) { property_type type = i->type; std::string name = a.unatomize(i->name); - propinfovector::iterator a = v.begin(), aend = v.end(); + auto a = v.begin(), aend = v.end(); bool found = false; while (a != aend) { if (a->type == type && a->name == name) { @@ -625,7 +625,7 @@ void archive::printraw(std::ostream &os) const // Dump expressions os << "Expressions:\n"; { - std::vector::const_iterator i = exprs.begin(), iend = exprs.end(); + auto i = exprs.begin(), iend = exprs.end(); unsigned index = 0; while (i != iend) { os << " " << index << " \"" << unatomize(i->name) << "\" root node " << i->root << std::endl; @@ -637,7 +637,7 @@ void archive::printraw(std::ostream &os) const // Dump nodes os << "Nodes:\n"; { - std::vector::const_iterator i = nodes.begin(), iend = nodes.end(); + auto i = nodes.begin(), iend = nodes.end(); archive_node_id id = 0; while (i != iend) { os << " " << id << " "; @@ -657,7 +657,7 @@ void archive_node::printraw(std::ostream &os) const os << "\n"; // Dump properties - archive_node_cit i = props.begin(), iend = props.end(); + auto i = props.begin(), iend = props.end(); while (i != iend) { os << " "; switch (i->type) { diff --git a/ginac/archive.h b/ginac/archive.h index be4fddfb..be9dcb20 100644 --- a/ginac/archive.h +++ b/ginac/archive.h @@ -326,7 +326,6 @@ private: mutable std::map inverse_atoms; /** Map of stored expressions to nodes for faster archiving */ - typedef std::map::iterator mapit; mutable std::map exprtable; }; diff --git a/ginac/basic.cpp b/ginac/basic.cpp index 0dfa7d78..1a3438e7 100644 --- a/ginac/basic.cpp +++ b/ginac/basic.cpp @@ -373,7 +373,7 @@ ex basic::collect(const ex & s, bool distributed) const pre_coeff = pre_coeff.coeff(li, cexp); key *= pow(li, cexp); } - exmap::iterator ci = cmap.find(key); + auto ci = cmap.find(key); if (ci != cmap.end()) ci->second += pre_coeff; else diff --git a/ginac/clifford.cpp b/ginac/clifford.cpp index 7ab99281..57d6ce6d 100644 --- a/ginac/clifford.cpp +++ b/ginac/clifford.cpp @@ -423,7 +423,7 @@ bool diracgamma::contract_with(exvector::iterator self, exvector::iterator other if (std::find_if(self + 1, other, is_not_a_clifford()) != other) return false; - exvector::iterator next_to_last = other - 1; + auto next_to_last = other - 1; ex S = ncmul(exvector(self + 1, next_to_last)); ex SR = ncmul(exvector(std::reverse_iterator(next_to_last), std::reverse_iterator(self + 1))); @@ -439,7 +439,7 @@ bool diracgamma::contract_with(exvector::iterator self, exvector::iterator other if (std::find_if(self + 1, other, is_not_a_clifford()) != other) return false; - exvector::iterator next_to_last = other - 1; + auto next_to_last = other - 1; ex S = ncmul(exvector(self + 1, next_to_last)); *self = 2 * (*next_to_last) * S - (*self) * S * (*other) * (*next_to_last); @@ -474,7 +474,7 @@ bool cliffordunit::contract_with(exvector::iterator self, exvector::iterator oth && unit.same_metric(*other)) return false; - exvector::iterator before_other = other - 1; + auto before_other = other - 1; ex mu = self->op(1); ex mu_toggle = other->op(1); ex alpha = before_other->op(1); @@ -542,11 +542,11 @@ ex clifford::eval_ncmul(const exvector & v) const // Anticommutate gamma5/L/R's to the front if (s.size() >= 2) { - exvector::iterator first = s.begin(), next_to_last = s.end() - 2; + auto first = s.begin(), next_to_last = s.end() - 2; while (true) { - exvector::iterator it = next_to_last; + auto it = next_to_last; while (true) { - exvector::iterator it2 = it + 1; + auto it2 = it + 1; if (is_a(*it) && is_a(*it2)) { ex e1 = it->op(0), e2 = it2->op(0); @@ -1003,9 +1003,9 @@ ex dirac_trace(const ex & e, const lst & rll, const ex & trONE) { // Convert list to set std::set rls; - for (lst::const_iterator i = rll.begin(); i != rll.end(); ++i) { - if (i->info(info_flags::nonnegint)) - rls.insert(ex_to(*i).to_int()); + for (const auto & i : rll) { + if (i.info(info_flags::nonnegint)) + rls.insert(ex_to(i).to_int()); } return dirac_trace(e, rls, trONE); @@ -1033,10 +1033,10 @@ ex canonicalize_clifford(const ex & e_) // Scan for any ncmul objects exmap srl; ex aux = e.to_rational(srl); - for (exmap::iterator i = srl.begin(); i != srl.end(); ++i) { + for (auto & i : srl) { - ex lhs = i->first; - ex rhs = i->second; + ex lhs = i.first; + ex rhs = i.second; if (is_exactly_a(rhs) && rhs.return_type() == return_types::noncommutative @@ -1045,7 +1045,7 @@ ex canonicalize_clifford(const ex & e_) // Expand product, if necessary ex rhs_expanded = rhs.expand(); if (!is_a(rhs_expanded)) { - i->second = canonicalize_clifford(rhs_expanded); + i.second = canonicalize_clifford(rhs_expanded); continue; } else if (!is_a(rhs.op(0))) @@ -1057,7 +1057,7 @@ ex canonicalize_clifford(const ex & e_) v.push_back(rhs.op(j)); // Stupid recursive bubble sort because we only want to swap adjacent gammas - exvector::iterator it = v.begin(), next_to_last = v.end() - 1; + auto it = v.begin(), next_to_last = v.end() - 1; if (is_a(it->op(0)) || is_a(it->op(0)) || is_a(it->op(0))) ++it; @@ -1075,7 +1075,7 @@ ex canonicalize_clifford(const ex & e_) it[0] = save1; it[1] = save0; sum += ex_to(save0).get_commutator_sign() * ncmul(std::move(v)); - i->second = canonicalize_clifford(sum); + i.second = canonicalize_clifford(sum); goto next_sym; } ++it; diff --git a/ginac/color.cpp b/ginac/color.cpp index 7081998d..37f653a4 100644 --- a/ginac/color.cpp +++ b/ginac/color.cpp @@ -332,7 +332,7 @@ bool su3t::contract_with(exvector::iterator self, exvector::iterator other, exve // T.a S T.a = 1/2 Tr(S) - 1/6 S } else { - exvector::iterator it = self + 1; + auto it = self + 1; while (it != other) { if (!is_a(*it)) { return false; diff --git a/ginac/ex.cpp b/ginac/ex.cpp index 2fdedfec..4b3b0f3d 100644 --- a/ginac/ex.cpp +++ b/ginac/ex.cpp @@ -123,7 +123,7 @@ ex ex::subs(const lst & ls, const lst & lr, unsigned options) const // Convert the lists to a map exmap m; - for (lst::const_iterator its = ls.begin(), itr = lr.begin(); its != ls.end(); ++its, ++itr) { + for (auto its = ls.begin(), itr = lr.begin(); its != ls.end(); ++its, ++itr) { m.insert(std::make_pair(*its, *itr)); // Search for products and powers in the expressions to be substituted diff --git a/ginac/expairseq.cpp b/ginac/expairseq.cpp index 5934ca9b..17099b95 100644 --- a/ginac/expairseq.cpp +++ b/ginac/expairseq.cpp @@ -265,7 +265,7 @@ epvector* conjugateepvector(const epvector&epv) } newepv = new epvector; newepv->reserve(epv.size()); - for (epvector::const_iterator j=epv.begin(); j!=i; ++j) { + for (auto j=epv.begin(); j!=i; ++j) { newepv->push_back(*j); } newepv->push_back(x); diff --git a/ginac/fderivative.cpp b/ginac/fderivative.cpp index b8ad07a8..9e3c981a 100644 --- a/ginac/fderivative.cpp +++ b/ginac/fderivative.cpp @@ -81,7 +81,7 @@ GINAC_BIND_UNARCHIVER(fderivative); void fderivative::archive(archive_node &n) const { inherited::archive(n); - paramset::const_iterator i = parameter_set.begin(), end = parameter_set.end(); + auto i = parameter_set.begin(), end = parameter_set.end(); while (i != end) { n.add_unsigned("param", *i); ++i; @@ -102,7 +102,7 @@ void fderivative::print(const print_context & c, unsigned level) const void fderivative::do_print(const print_context & c, unsigned level) const { c.s << "D["; - paramset::const_iterator i = parameter_set.begin(), end = parameter_set.end(); + auto i = parameter_set.begin(), end = parameter_set.end(); --end; while (i != end) { c.s << *i++ << ","; @@ -114,7 +114,7 @@ void fderivative::do_print(const print_context & c, unsigned level) const void fderivative::do_print_csrc(const print_csrc & c, unsigned level) const { c.s << "D_"; - paramset::const_iterator i = parameter_set.begin(), end = parameter_set.end(); + auto i = parameter_set.begin(), end = parameter_set.end(); --end; while (i != end) c.s << *i++ << "_"; @@ -129,13 +129,13 @@ void fderivative::do_print_tree(const print_tree & c, unsigned level) const << std::hex << ", hash=0x" << hashvalue << ", flags=0x" << flags << std::dec << ", nops=" << nops() << ", params="; - paramset::const_iterator i = parameter_set.begin(), end = parameter_set.end(); + auto i = parameter_set.begin(), end = parameter_set.end(); --end; while (i != end) c.s << *i++ << ","; c.s << *i << std::endl; - for (size_t i=0; iindex @@ -541,7 +541,7 @@ void find_free_and_dummy(exvector::const_iterator it, exvector::const_iterator i // Find dummy pairs and free indices it = v.begin(); itend = v.end(); - exvector::const_iterator last = it++; + auto last = it++; while (it != itend) { if (is_dummy_pair(*it, *last)) { out_dummy.push_back(*last); diff --git a/ginac/inifcns_nstdsums.cpp b/ginac/inifcns_nstdsums.cpp index 6c17e32e..e21e311d 100644 --- a/ginac/inifcns_nstdsums.cpp +++ b/ginac/inifcns_nstdsums.cpp @@ -124,7 +124,7 @@ void fill_Xn(int n) if (n>1) { // calculate X_2 and higher (corresponding to Li_4 and higher) std::vector buf(xninitsize); - std::vector::iterator it = buf.begin(); + auto it = buf.begin(); cln::cl_N result; *it = -(cln::expt(cln::cl_I(2),n+1) - 1) / cln::expt(cln::cl_I(2),n+1); // i == 1 it++; @@ -149,7 +149,7 @@ void fill_Xn(int n) } else if (n==1) { // special case to handle the X_0 correct std::vector buf(xninitsize); - std::vector::iterator it = buf.begin(); + auto it = buf.begin(); cln::cl_N result; *it = cln::cl_I(-3)/cln::cl_I(4); // i == 1 it++; @@ -173,7 +173,7 @@ void fill_Xn(int n) } else { // calculate X_0 std::vector buf(xninitsize/2); - std::vector::iterator it = buf.begin(); + auto it = buf.begin(); for (int i=1; i<=xninitsize/2; i++) { *it = bernoulli(i*2).to_cl_N(); it++; @@ -474,8 +474,8 @@ namespace { cln::cl_N multipleLi_do_sum(const std::vector& s, const std::vector& x) { // ensure all x <> 0. - for (std::vector::const_iterator it = x.begin(); it != x.end(); ++it) { - if ( *it == 0 ) return cln::cl_float(0, cln::float_format(Digits)); + for (const auto & it : x) { + if (it == 0) return cln::cl_float(0, cln::float_format(Digits)); } const int j = s.size(); @@ -539,9 +539,9 @@ ex G_eval(const Gparameter& a, int scale, const exvector& gsyms) bool all_zero = true; bool all_ones = true; int count_ones = 0; - for (Gparameter::const_iterator it = a.begin(); it != a.end(); ++it) { - if (*it != 0) { - const ex sym = gsyms[std::abs(*it)]; + for (const auto & it : a) { + if (it != 0) { + const ex sym = gsyms[std::abs(it)]; newa.append(sym); all_zero = false; if (sym != sc) { @@ -559,31 +559,17 @@ ex G_eval(const Gparameter& a, int scale, const exvector& gsyms) // later on in the transformation if (newa.nops() > 1 && newa.op(0) == sc && !all_ones && a.front()!=0) { // do shuffle - Gparameter short_a; - Gparameter::const_iterator it = a.begin(); - ++it; - for (; it != a.end(); ++it) { - short_a.push_back(*it); - } + Gparameter short_a(a.begin()+1, a.end()); ex result = G_eval1(a.front(), scale, gsyms) * G_eval(short_a, scale, gsyms); - it = short_a.begin(); - for (int i=1; i 0) { ++depth; trailing_zeros = 0; @@ -699,7 +685,7 @@ ex trailing_zeros_G(const Gparameter& a, int scale, const exvector& gsyms) ex result; Gparameter new_a(a.begin(), a.end()-1); result += G_eval1(0, scale, gsyms) * trailing_zeros_G(new_a, scale, gsyms); - for (Gparameter::const_iterator it = a.begin(); it != last; ++it) { + for (auto it = a.begin(); it != last; ++it) { Gparameter new_a(a.begin(), it); new_a.push_back(0); new_a.insert(new_a.end(), it, a.end()-1); @@ -746,20 +732,20 @@ ex depth_one_trafo_G(const Gparameter& pending_integrals, const Gparameter& a, i } if (psize) { result *= trailing_zeros_G(convert_pending_integrals_G(pending_integrals), - pending_integrals.front(), - gsyms); + pending_integrals.front(), + gsyms); } // G(y2_{-+}; sr) result += trailing_zeros_G(convert_pending_integrals_G(new_pending_integrals), - new_pending_integrals.front(), - gsyms); + new_pending_integrals.front(), + gsyms); // G(0; sr) new_pending_integrals.back() = 0; result -= trailing_zeros_G(convert_pending_integrals_G(new_pending_integrals), - new_pending_integrals.front(), - gsyms); + new_pending_integrals.front(), + gsyms); return result; } @@ -772,8 +758,8 @@ ex depth_one_trafo_G(const Gparameter& pending_integrals, const Gparameter& a, i result -= zeta(a.size()); if (psize) { result *= trailing_zeros_G(convert_pending_integrals_G(pending_integrals), - pending_integrals.front(), - gsyms); + pending_integrals.front(), + gsyms); } // term int_0^sr dt/t G_{m-1}( (1/y2)_{+-}; 1/t ) @@ -789,8 +775,8 @@ ex depth_one_trafo_G(const Gparameter& pending_integrals, const Gparameter& a, i new_pending_integrals_2.push_back(0); if (psize) { result += trailing_zeros_G(convert_pending_integrals_G(pending_integrals), - pending_integrals.front(), - gsyms) + pending_integrals.front(), + gsyms) * depth_one_trafo_G(new_pending_integrals_2, new_a, scale, gsyms); } else { result += depth_one_trafo_G(new_pending_integrals_2, new_a, scale, gsyms); @@ -802,13 +788,13 @@ ex depth_one_trafo_G(const Gparameter& pending_integrals, const Gparameter& a, i // forward declaration ex shuffle_G(const Gparameter & a0, const Gparameter & a1, const Gparameter & a2, - const Gparameter& pendint, const Gparameter& a_old, int scale, - const exvector& gsyms, bool flag_trailing_zeros_only); + const Gparameter& pendint, const Gparameter& a_old, int scale, + const exvector& gsyms, bool flag_trailing_zeros_only); // G transformation [VSW] ex G_transform(const Gparameter& pendint, const Gparameter& a, int scale, - const exvector& gsyms, bool flag_trailing_zeros_only) + const exvector& gsyms, bool flag_trailing_zeros_only) { // main recursion routine // @@ -823,23 +809,22 @@ ex G_transform(const Gparameter& pendint, const Gparameter& a, int scale, bool convergent; int depth, trailing_zeros; Gparameter::const_iterator min_it; - Gparameter::const_iterator firstzero = - check_parameter_G(a, scale, convergent, depth, trailing_zeros, min_it); - int min_it_pos = min_it - a.begin(); + auto firstzero = check_parameter_G(a, scale, convergent, depth, trailing_zeros, min_it); + int min_it_pos = distance(a.begin(), min_it); // special case: all a's are zero if (depth == 0) { ex result; if (a.size() == 0) { - result = 1; + result = 1; } else { - result = G_eval(a, scale, gsyms); + result = G_eval(a, scale, gsyms); } if (pendint.size() > 0) { - result *= trailing_zeros_G(convert_pending_integrals_G(pendint), - pendint.front(), - gsyms); + result *= trailing_zeros_G(convert_pending_integrals_G(pendint), + pendint.front(), + gsyms); } return result; } @@ -849,7 +834,7 @@ ex G_transform(const Gparameter& pendint, const Gparameter& a, int scale, ex result; Gparameter new_a(a.begin(), a.end()-1); result += G_eval1(0, scale, gsyms) * G_transform(pendint, new_a, scale, gsyms, flag_trailing_zeros_only); - for (Gparameter::const_iterator it = a.begin(); it != firstzero; ++it) { + for (auto it = a.begin(); it != firstzero; ++it) { Gparameter new_a(a.begin(), it); new_a.push_back(0); new_a.insert(new_a.end(), it, a.end()-1); @@ -862,8 +847,8 @@ ex G_transform(const Gparameter& pendint, const Gparameter& a, int scale, if (convergent || flag_trailing_zeros_only) { if (pendint.size() > 0) { return G_eval(convert_pending_integrals_G(pendint), - pendint.front(), gsyms)* - G_eval(a, scale, gsyms); + pendint.front(), gsyms) * + G_eval(a, scale, gsyms); } else { return G_eval(a, scale, gsyms); } @@ -903,7 +888,7 @@ ex G_transform(const Gparameter& pendint, const Gparameter& a, int scale, ex result = G_transform(empty, new_a, scale, gsyms, flag_trailing_zeros_only); if (pendint.size() > 0) { result *= trailing_zeros_G(convert_pending_integrals_G(pendint), - pendint.front(), gsyms); + pendint.front(), gsyms); } // other terms @@ -913,7 +898,7 @@ ex G_transform(const Gparameter& pendint, const Gparameter& a, int scale, // smallest in the middle new_pendint.push_back(*changeit); result -= trailing_zeros_G(convert_pending_integrals_G(new_pendint), - new_pendint.front(), gsyms)* + new_pendint.front(), gsyms)* G_transform(empty, new_a, scale, gsyms, flag_trailing_zeros_only); int buffer = *changeit; *changeit = *min_it; @@ -923,7 +908,7 @@ ex G_transform(const Gparameter& pendint, const Gparameter& a, int scale, --changeit; new_pendint.push_back(*changeit); result += trailing_zeros_G(convert_pending_integrals_G(new_pendint), - new_pendint.front(), gsyms)* + new_pendint.front(), gsyms)* G_transform(empty, new_a, scale, gsyms, flag_trailing_zeros_only); *changeit = *min_it; result -= G_transform(new_pendint, new_a, scale, gsyms, flag_trailing_zeros_only); @@ -931,11 +916,11 @@ ex G_transform(const Gparameter& pendint, const Gparameter& a, int scale, // smallest at the front new_pendint.push_back(scale); result += trailing_zeros_G(convert_pending_integrals_G(new_pendint), - new_pendint.front(), gsyms)* + new_pendint.front(), gsyms)* G_transform(empty, new_a, scale, gsyms, flag_trailing_zeros_only); new_pendint.back() = *changeit; result -= trailing_zeros_G(convert_pending_integrals_G(new_pendint), - new_pendint.front(), gsyms)* + new_pendint.front(), gsyms)* G_transform(empty, new_a, scale, gsyms, flag_trailing_zeros_only); *changeit = *min_it; result += G_transform(new_pendint, new_a, scale, gsyms, flag_trailing_zeros_only); @@ -947,8 +932,8 @@ ex G_transform(const Gparameter& pendint, const Gparameter& a, int scale, // shuffles the two parameter list a1 and a2 and calls G_transform for every term except // for the one that is equal to a_old ex shuffle_G(const Gparameter & a0, const Gparameter & a1, const Gparameter & a2, - const Gparameter& pendint, const Gparameter& a_old, int scale, - const exvector& gsyms, bool flag_trailing_zeros_only) + const Gparameter& pendint, const Gparameter& a_old, int scale, + const exvector& gsyms, bool flag_trailing_zeros_only) { if (a1.size()==0 && a2.size()==0) { // veto the one configuration we don't want @@ -988,13 +973,13 @@ ex shuffle_G(const Gparameter & a0, const Gparameter & a1, const Gparameter & a2 // the parameter x, s and y must only contain numerics static cln::cl_N G_numeric(const std::vector& x, const std::vector& s, - const cln::cl_N& y); + const cln::cl_N& y); // do acceleration transformation (hoelder convolution [BBB]) // the parameter x, s and y must only contain numerics static cln::cl_N G_do_hoelder(std::vector x, /* yes, it's passed by value */ - const std::vector& s, const cln::cl_N& y) + const std::vector& s, const cln::cl_N& y) { cln::cl_N result; const std::size_t size = x.size(); @@ -1149,22 +1134,22 @@ G_do_trafo(const std::vector& x, const std::vector& s, // the parameter x, s and y must only contain numerics static cln::cl_N G_numeric(const std::vector& x, const std::vector& s, - const cln::cl_N& y) + const cln::cl_N& y) { // check for convergence and necessary accelerations bool need_trafo = false; bool need_hoelder = false; bool have_trailing_zero = false; std::size_t depth = 0; - for (std::size_t i = 0; i < x.size(); ++i) { - if (!zerop(x[i])) { + for (auto & xi : x) { + if (!zerop(xi)) { ++depth; - const cln::cl_N x_y = abs(x[i]) - y; + const cln::cl_N x_y = abs(xi) - y; if (instanceof(x_y, cln::cl_R_ring) && realpart(x_y) < cln::least_negative_float(cln::float_format(Digits - 2))) need_trafo = true; - if (abs(abs(x[i]/y) - 1) < 0.01) + if (abs(abs(xi/y) - 1) < 0.01) need_hoelder = true; } } @@ -1192,12 +1177,12 @@ G_numeric(const std::vector& x, const std::vector& s, int mcount = 1; int sign = 1; cln::cl_N factor = y; - for (std::size_t i = 0; i < x.size(); ++i) { - if (zerop(x[i])) { + for (auto & xi : x) { + if (zerop(xi)) { ++mcount; } else { - newx.push_back(factor/x[i]); - factor = x[i]; + newx.push_back(factor/xi); + factor = xi; m.push_back(mcount); mcount = 1; sign = -sign; @@ -1216,7 +1201,7 @@ ex mLi_numeric(const lst& m, const lst& x) std::vector s; s.reserve(x.nops()); cln::cl_N factor(1); - for (lst::const_iterator itm = m.begin(), itx = x.begin(); itm != m.end(); ++itm, ++itx) { + for (auto itm = m.begin(), itx = x.begin(); itm != m.end(); ++itm, ++itx) { for (int i = 1; i < *itm; ++i) { newx.push_back(cln::cl_N(0)); s.push_back(1); @@ -1262,14 +1247,14 @@ static ex G2_evalf(const ex& x_, const ex& y) std::vector s; s.reserve(x.nops()); bool all_zero = true; - for (lst::const_iterator it = x.begin(); it != x.end(); ++it) { - if (!(*it).info(info_flags::numeric)) { + for (const auto & it : x) { + if (!it.info(info_flags::numeric)) { return G(x_, y).hold(); } - if (*it != _ex0) { + if (it != _ex0) { all_zero = false; } - if ( !ex_to(*it).is_real() && ex_to(*it).imag() < 0 ) { + if ( !ex_to(it).is_real() && ex_to(it).imag() < 0 ) { s.push_back(-1); } else { @@ -1281,8 +1266,8 @@ static ex G2_evalf(const ex& x_, const ex& y) } std::vector xv; xv.reserve(x.nops()); - for (lst::const_iterator it = x.begin(); it != x.end(); ++it) - xv.push_back(ex_to(*it).to_cl_N()); + for (const auto & it : x) + xv.push_back(ex_to(it).to_cl_N()); cln::cl_N result = G_numeric(xv, s, ex_to(y).to_cl_N()); return numeric(result); } @@ -1306,17 +1291,17 @@ static ex G2_eval(const ex& x_, const ex& y) s.reserve(x.nops()); bool all_zero = true; bool crational = true; - for (lst::const_iterator it = x.begin(); it != x.end(); ++it) { - if (!(*it).info(info_flags::numeric)) { + for (const auto & it : x) { + if (!it.info(info_flags::numeric)) { return G(x_, y).hold(); } - if (!(*it).info(info_flags::crational)) { + if (!it.info(info_flags::crational)) { crational = false; } - if (*it != _ex0) { + if (it != _ex0) { all_zero = false; } - if ( !ex_to(*it).is_real() && ex_to(*it).imag() < 0 ) { + if ( !ex_to(it).is_real() && ex_to(it).imag() < 0 ) { s.push_back(-1); } else { @@ -1334,8 +1319,8 @@ static ex G2_eval(const ex& x_, const ex& y) } std::vector xv; xv.reserve(x.nops()); - for (lst::const_iterator it = x.begin(); it != x.end(); ++it) - xv.push_back(ex_to(*it).to_cl_N()); + for (const auto & it : x) + xv.push_back(ex_to(it).to_cl_N()); cln::cl_N result = G_numeric(xv, s, ex_to(y).to_cl_N()); return numeric(result); } @@ -1370,7 +1355,7 @@ static ex G3_evalf(const ex& x_, const ex& s_, const ex& y) std::vector sn; sn.reserve(s.nops()); bool all_zero = true; - for (lst::const_iterator itx = x.begin(), its = s.begin(); itx != x.end(); ++itx, ++its) { + for (auto itx = x.begin(), its = s.begin(); itx != x.end(); ++itx, ++its) { if (!(*itx).info(info_flags::numeric)) { return G(x_, y).hold(); } @@ -1406,8 +1391,8 @@ static ex G3_evalf(const ex& x_, const ex& s_, const ex& y) } std::vector xn; xn.reserve(x.nops()); - for (lst::const_iterator it = x.begin(); it != x.end(); ++it) - xn.push_back(ex_to(*it).to_cl_N()); + for (const auto & it : x) + xn.push_back(ex_to(it).to_cl_N()); cln::cl_N result = G_numeric(xn, sn, ex_to(y).to_cl_N()); return numeric(result); } @@ -1435,7 +1420,7 @@ static ex G3_eval(const ex& x_, const ex& s_, const ex& y) sn.reserve(s.nops()); bool all_zero = true; bool crational = true; - for (lst::const_iterator itx = x.begin(), its = s.begin(); itx != x.end(); ++itx, ++its) { + for (auto itx = x.begin(), its = s.begin(); itx != x.end(); ++itx, ++its) { if (!(*itx).info(info_flags::numeric)) { return G(x_, s_, y).hold(); } @@ -1480,8 +1465,8 @@ static ex G3_eval(const ex& x_, const ex& s_, const ex& y) } std::vector xn; xn.reserve(x.nops()); - for (lst::const_iterator it = x.begin(); it != x.end(); ++it) - xn.push_back(ex_to(*it).to_cl_N()); + for (const auto & it : x) + xn.push_back(ex_to(it).to_cl_N()); cln::cl_N result = G_numeric(xn, sn, ex_to(y).to_cl_N()); return numeric(result); } @@ -1543,7 +1528,7 @@ static ex Li_evalf(const ex& m_, const ex& x_) return Li(m_,x_).hold(); } - for (lst::const_iterator itm = m.begin(), itx = x.begin(); itm != m.end(); ++itm, ++itx) { + for (auto itm = m.begin(), itx = x.begin(); itm != m.end(); ++itm, ++itx) { if (!(*itm).info(info_flags::posint)) { return Li(m_, x_).hold(); } @@ -1579,7 +1564,7 @@ static ex Li_eval(const ex& m_, const ex& x_) bool is_zeta = true; bool do_evalf = true; bool crational = true; - for (lst::const_iterator itm = m.begin(), itx = x.begin(); itm != m.end(); ++itm, ++itx) { + for (auto itm = m.begin(), itx = x.begin(); itm != m.end(); ++itm, ++itx) { if (!(*itm).info(info_flags::posint)) { return Li(m_,x_).hold(); } @@ -1601,14 +1586,14 @@ static ex Li_eval(const ex& m_, const ex& x_) } if (is_zeta) { lst newx; - for (lst::const_iterator itx = x.begin(); itx != x.end(); ++itx) { - GINAC_ASSERT((*itx == _ex1) || (*itx == _ex_1)); + for (const auto & itx : x) { + GINAC_ASSERT((itx == _ex1) || (itx == _ex_1)); // XXX: 1 + 0.0*I is considered equal to 1. However // the former is a not automatically converted // to a real number. Do the conversion explicitly // to avoid the "numeric::operator>(): complex inequality" // exception (and similar problems). - newx.append(*itx != _ex_1 ? _ex1 : _ex_1); + newx.append(itx != _ex_1 ? _ex1 : _ex_1); } return zeta(m_, newx); } @@ -1736,7 +1721,7 @@ static void Li_print_latex(const ex& m_, const ex& x_, const print_context& c) x = lst{x_}; } c.s << "\\mathrm{Li}_{"; - lst::const_iterator itm = m.begin(); + auto itm = m.begin(); (*itm).print(c); itm++; for (; itm != m.end(); itm++) { @@ -1744,7 +1729,7 @@ static void Li_print_latex(const ex& m_, const ex& x_, const print_context& c) (*itm).print(c); } c.s << "}("; - lst::const_iterator itx = x.begin(); + auto itx = x.begin(); (*itx).print(c); itx++; for (; itx != x.end(); itx++) { @@ -1800,8 +1785,8 @@ void fill_Yn(int n, const cln::float_format_t& prec) if (n) { std::vector buf(initsize); - std::vector::iterator it = buf.begin(); - std::vector::iterator itprev = Yn[n-1].begin(); + auto it = buf.begin(); + auto itprev = Yn[n-1].begin(); *it = (*itprev) / cln::cl_N(n+1) * one; it++; itprev++; @@ -1815,7 +1800,7 @@ void fill_Yn(int n, const cln::float_format_t& prec) Yn.push_back(buf); } else { std::vector buf(initsize); - std::vector::iterator it = buf.begin(); + auto it = buf.begin(); *it = 1 * one; it++; for (int i=2; i<=initsize; i++) { @@ -1835,7 +1820,7 @@ void make_Yn_longer(int newsize, const cln::float_format_t& prec) cln::cl_N one = cln::cl_float(1, prec); Yn[0].resize(newsize); - std::vector::iterator it = Yn[0].begin(); + auto it = Yn[0].begin(); it += ynlength; for (int i=ynlength+1; i<=newsize; i++) { *it = *(it-1) + 1 / cln::cl_N(i) * one; @@ -1844,8 +1829,8 @@ void make_Yn_longer(int newsize, const cln::float_format_t& prec) for (int n=1; n::iterator it = Yn[n].begin(); - std::vector::iterator itprev = Yn[n-1].begin(); + auto it = Yn[n].begin(); + auto itprev = Yn[n-1].begin(); it += ynlength; itprev += ynlength; for (int i=ynlength+n+1; i<=newsize+n; i++) { @@ -2293,7 +2278,7 @@ REGISTER_FUNCTION(S, // anonymous namespace for helper functions namespace { - + // regulates the pole (used by 1/x-transformation) symbol H_polesign("IMSIGN"); @@ -2305,19 +2290,19 @@ bool convert_parameter_H_to_Li(const lst& l, lst& m, lst& s, ex& pf) { // expand parameter list lst mexp; - for (lst::const_iterator it = l.begin(); it != l.end(); it++) { - if (*it > 1) { - for (ex count=*it-1; count > 0; count--) { + for (const auto & it : l) { + if (it > 1) { + for (ex count=it-1; count > 0; count--) { mexp.append(0); } mexp.append(1); - } else if (*it < -1) { - for (ex count=*it+1; count < 0; count++) { + } else if (it < -1) { + for (ex count=it+1; count < 0; count++) { mexp.append(0); } mexp.append(-1); } else { - mexp.append(*it); + mexp.append(it); } } @@ -2325,19 +2310,19 @@ bool convert_parameter_H_to_Li(const lst& l, lst& m, lst& s, ex& pf) pf = 1; bool has_negative_parameters = false; ex acc = 1; - for (lst::const_iterator it = mexp.begin(); it != mexp.end(); it++) { - if (*it == 0) { + for (const auto & it : mexp) { + if (it == 0) { acc++; continue; } - if (*it > 0) { - m.append((*it+acc-1) * signum); + if (it > 0) { + m.append((it+acc-1) * signum); } else { - m.append((*it-acc+1) * signum); + m.append((it-acc+1) * signum); } acc = 1; - signum = *it; - pf *= *it; + signum = it; + pf *= it; if (pf < 0) { has_negative_parameters = true; } @@ -2370,7 +2355,7 @@ struct map_trafo_H_convert_to_Li : public map_function if (name == "H") { lst parameter; if (is_a(e.op(0))) { - parameter = ex_to(e.op(0)); + parameter = ex_to(e.op(0)); } else { parameter = lst{e.op(0)}; } @@ -2409,7 +2394,7 @@ struct map_trafo_H_convert_to_zeta : public map_function if (name == "H") { lst parameter; if (is_a(e.op(0))) { - parameter = ex_to(e.op(0)); + parameter = ex_to(e.op(0)); } else { parameter = lst{e.op(0)}; } @@ -2455,7 +2440,7 @@ struct map_trafo_H_reduce_trailing_zeros : public map_function } // - lst::const_iterator it = parameter.begin(); + auto it = parameter.begin(); while ((it != parameter.end()) && (*it == 0)) { it++; } @@ -2517,8 +2502,8 @@ ex convert_H_to_zeta(const lst& m) lst convert_parameter_Li_to_H(const lst& m, const lst& x, ex& pf) { lst res; - lst::const_iterator itm = m.begin(); - lst::const_iterator itx = ++x.begin(); + auto itm = m.begin(); + auto itx = ++x.begin(); int signum = 1; pf = _ex1; res.append(*itm); @@ -3213,20 +3198,20 @@ static ex H_evalf(const ex& x1, const ex& x2) // ... and expand parameter notation bool has_minus_one = false; lst m; - for (lst::const_iterator it = morg.begin(); it != morg.end(); it++) { - if (*it > 1) { - for (ex count=*it-1; count > 0; count--) { + for (const auto & it : morg) { + if (it > 1) { + for (ex count=it-1; count > 0; count--) { m.append(0); } m.append(1); - } else if (*it <= -1) { - for (ex count=*it+1; count < 0; count++) { + } else if (it <= -1) { + for (ex count=it+1; count < 0; count++) { m.append(0); } m.append(-1); has_minus_one = true; } else { - m.append(*it); + m.append(it); } } @@ -3239,7 +3224,7 @@ static ex H_evalf(const ex& x1, const ex& x2) // negative parameters -> s_lst is filled std::vector m_int; std::vector x_cln; - for (lst::const_iterator it_int = m_lst.begin(), it_cln = s_lst.begin(); + for (auto it_int = m_lst.begin(), it_cln = s_lst.begin(); it_int != m_lst.end(); it_int++, it_cln++) { m_int.push_back(ex_to(*it_int).to_int()); x_cln.push_back(ex_to(*it_cln).to_cl_N()); @@ -3253,8 +3238,8 @@ static ex H_evalf(const ex& x1, const ex& x2) return Li(m_lst.op(0), x2).evalf(); } std::vector m_int; - for (lst::const_iterator it = m_lst.begin(); it != m_lst.end(); it++) { - m_int.push_back(ex_to(*it).to_int()); + for (const auto & it : m_lst) { + m_int.push_back(ex_to(it).to_int()); } return numeric(H_do_sum(m_int, x)); } @@ -3345,8 +3330,8 @@ static ex H_eval(const ex& m_, const ex& x) pos1 = *m.begin(); p = _ex1; } - for (lst::const_iterator it = ++m.begin(); it != m.end(); it++) { - if ((*it).info(info_flags::integer)) { + for (auto it = ++m.begin(); it != m.end(); it++) { + if (it->info(info_flags::integer)) { if (step == 0) { if (*it > _ex1) { if (pos1 == _ex0) { @@ -3473,7 +3458,7 @@ static void H_print_latex(const ex& m_, const ex& x, const print_context& c) m = lst{m_}; } c.s << "\\mathrm{H}_{"; - lst::const_iterator itm = m.begin(); + auto itm = m.begin(); (*itm).print(c); itm++; for (; itm != m.end(); itm++) { @@ -3592,7 +3577,7 @@ static void calc_f(std::vector>& f_kj, { cln::cl_N t0, t1, t2, t3, t4; int i, j, k; - std::vector>::iterator it = f_kj.begin(); + auto it = f_kj.begin(); cln::cl_F one = cln::cl_float(1, cln::float_format(Digits)); t0 = cln::exp(-lambda); @@ -3869,8 +3854,8 @@ static ex zeta1_evalf(const ex& x) std::vector r(count); // check parameters and convert them - lst::const_iterator it1 = xlst.begin(); - std::vector::iterator it2 = r.begin(); + auto it1 = xlst.begin(); + auto it2 = r.begin(); do { if (!(*it1).info(info_flags::posint)) { return zeta(x).hold(); @@ -3965,7 +3950,7 @@ static void zeta1_print_latex(const ex& m_, const print_context& c) c.s << "\\zeta("; if (is_a(m_)) { const lst& m = ex_to(m_); - lst::const_iterator it = m.begin(); + auto it = m.begin(); (*it).print(c); it++; for (; it != m.end(); it++) { @@ -4009,10 +3994,10 @@ static ex zeta2_evalf(const ex& x, const ex& s) std::vector si(count); // check parameters and convert them - lst::const_iterator it_xread = xlst.begin(); - lst::const_iterator it_sread = slst.begin(); - std::vector::iterator it_xwrite = xi.begin(); - std::vector::iterator it_swrite = si.begin(); + auto it_xread = xlst.begin(); + auto it_sread = slst.begin(); + auto it_xwrite = xi.begin(); + auto it_swrite = si.begin(); do { if (!(*it_xread).info(info_flags::posint)) { return zeta(x, s).hold(); @@ -4046,8 +4031,8 @@ static ex zeta2_eval(const ex& m, const ex& s_) { if (is_exactly_a(s_)) { const lst& s = ex_to(s_); - for (lst::const_iterator it = s.begin(); it != s.end(); it++) { - if ((*it).info(info_flags::positive)) { + for (const auto & it : s) { + if (it.info(info_flags::positive)) { continue; } return zeta(m, s_).hold(); @@ -4091,8 +4076,8 @@ static void zeta2_print_latex(const ex& m_, const ex& s_, const print_context& c s = lst{s_}; } c.s << "\\zeta("; - lst::const_iterator itm = m.begin(); - lst::const_iterator its = s.begin(); + auto itm = m.begin(); + auto its = s.begin(); if (*its < 0) { c.s << "\\overline{"; (*itm).print(c); diff --git a/ginac/integral.cpp b/ginac/integral.cpp index d2d451b4..ce3a2a4a 100644 --- a/ginac/integral.cpp +++ b/ginac/integral.cpp @@ -229,7 +229,7 @@ ex adaptivesimpson(const ex & x, const ex & a_in, const ex & b_in, const ex & f, static lookup_map lookup; static symbol ivar("ivar"); ex lookupex = integral(ivar,a,b,f.subs(x==ivar)); - lookup_map::iterator emi = lookup.find(error_and_integral(error, lookupex)); + auto emi = lookup.find(error_and_integral(error, lookupex)); if (emi!=lookup.end()) return emi->second; diff --git a/ginac/ncmul.cpp b/ginac/ncmul.cpp index 359ae81c..103e7d6d 100644 --- a/ginac/ncmul.cpp +++ b/ginac/ncmul.cpp @@ -521,7 +521,7 @@ unsigned ncmul::return_type() const bool all_commutative = true; exvector::const_iterator noncommutative_element; // point to first found nc element - exvector::const_iterator i = seq.begin(), end = seq.end(); + auto i = seq.begin(), end = seq.end(); while (i != end) { unsigned rt = i->return_type(); if (rt == return_types::noncommutative_composite) diff --git a/ginac/normal.cpp b/ginac/normal.cpp index 81841e0f..fe749c2b 100644 --- a/ginac/normal.cpp +++ b/ginac/normal.cpp @@ -1548,7 +1548,7 @@ ex gcd(const ex &a, const ex &b, ex *ca, ex *cb, bool check_args, unsigned optio // The symbol with least degree which is contained in both polynomials // is our main variable - sym_desc_vec::iterator vari = sym_stats.begin(); + auto vari = sym_stats.begin(); while ((vari != sym_stats.end()) && (((vari->ldeg_b == 0) && (vari->deg_b == 0)) || ((vari->ldeg_a == 0) && (vari->deg_a == 0)))) diff --git a/ginac/operators.cpp b/ginac/operators.cpp index eb8566c3..a6228e8d 100644 --- a/ginac/operators.cpp +++ b/ginac/operators.cpp @@ -352,8 +352,8 @@ std::ostream & operator<<(std::ostream & os, const ex & e) std::ostream & operator<<(std::ostream & os, const exvector & e) { print_context *p = get_print_context(os); - exvector::const_iterator i = e.begin(); - exvector::const_iterator vend = e.end(); + auto i = e.begin(); + auto vend = e.end(); if (i==vend) { os << "[]"; @@ -379,8 +379,8 @@ std::ostream & operator<<(std::ostream & os, const exvector & e) std::ostream & operator<<(std::ostream & os, const exset & e) { print_context *p = get_print_context(os); - exset::const_iterator i = e.begin(); - exset::const_iterator send = e.end(); + auto i = e.begin(); + auto send = e.end(); if (i==send) { os << "<>"; @@ -406,8 +406,8 @@ std::ostream & operator<<(std::ostream & os, const exset & e) std::ostream & operator<<(std::ostream & os, const exmap & e) { print_context *p = get_print_context(os); - exmap::const_iterator i = e.begin(); - exmap::const_iterator mend = e.end(); + auto i = e.begin(); + auto mend = e.end(); if (i==mend) { os << "{}"; diff --git a/ginac/parser/default_reader.cpp b/ginac/parser/default_reader.cpp index 53826ac1..7d0f7fcc 100644 --- a/ginac/parser/default_reader.cpp +++ b/ginac/parser/default_reader.cpp @@ -143,8 +143,7 @@ const prototype_table& get_builtin_reader() Order, NFUNCTIONS }; - std::vector::const_iterator it = - registered_functions_hack::get_registered_functions().begin(); + auto it = registered_functions_hack::get_registered_functions().begin(); unsigned serial = 0; for ( ; serialget_name(), it->get_nparams()); diff --git a/ginac/parser/parser.cpp b/ginac/parser/parser.cpp index fe4e1747..cdfc5af6 100644 --- a/ginac/parser/parser.cpp +++ b/ginac/parser/parser.cpp @@ -93,7 +93,7 @@ ex parser::parse_identifier_expr() // Eat the ')'. get_next_tok(); prototype the_prototype = make_pair(name, args.size()); - prototype_table::const_iterator reader = funcs.find(the_prototype); + auto reader = funcs.find(the_prototype); if (reader == funcs.end()) { Parse_error_("no function \"" << name << "\" with " << args.size() << " arguments"); diff --git a/ginac/polynomial/collect_vargs.cpp b/ginac/polynomial/collect_vargs.cpp index 83586974..e77a3b67 100644 --- a/ginac/polynomial/collect_vargs.cpp +++ b/ginac/polynomial/collect_vargs.cpp @@ -118,7 +118,7 @@ collect_term(ex_collect_priv_t& ec, const ex& e, const exvector& vars) key[i] = var_i_pow; pre_coeff = pre_coeff.coeff(vars[i], var_i_pow); } - ex_collect_priv_t::iterator i = ec.find(key); + auto i = ec.find(key); if (i != ec.end()) i->second += pre_coeff; else @@ -127,7 +127,7 @@ collect_term(ex_collect_priv_t& ec, const ex& e, const exvector& vars) static void wipe_out_zeros(ex_collect_priv_t& m) { - ex_collect_priv_t::iterator i = m.begin(); + auto i = m.begin(); while (i != m.end()) { // be careful to not invalide iterator, use post-increment // for that, see e.g. diff --git a/ginac/polynomial/primpart_content.cpp b/ginac/polynomial/primpart_content.cpp index 1e2cda83..54a6f170 100644 --- a/ginac/polynomial/primpart_content.cpp +++ b/ginac/polynomial/primpart_content.cpp @@ -68,7 +68,7 @@ void primpart_content(ex& pp, ex& c, ex e, const exvector& vars, // Start from the leading coefficient (which is stored as a last // element of the terms array) - ex_collect_t::reverse_iterator i = ec.rbegin(); + auto i = ec.rbegin(); ex g = i->second; // there are at least two terms, so it's safe to... ++i; diff --git a/ginac/power.cpp b/ginac/power.cpp index a3c77dc5..4ba38778 100644 --- a/ginac/power.cpp +++ b/ginac/power.cpp @@ -1225,11 +1225,11 @@ ex power::expand_add_2(const add & a, unsigned options) } result.reserve(result_size); - epvector::const_iterator last = a.seq.end(); + auto last = a.seq.end(); // power(+(x,...,z;c),2)=power(+(x,...,z;0),2)+2*c*+(x,...,z;0)+c*c // first part: ignore overall_coeff and expand other terms - for (epvector::const_iterator cit0=a.seq.begin(); cit0!=last; ++cit0) { + for (auto cit0=a.seq.begin(); cit0!=last; ++cit0) { const ex & r = cit0->rest; const ex & c = cit0->coeff; @@ -1259,7 +1259,7 @@ ex power::expand_add_2(const add & a, unsigned options) } } - for (epvector::const_iterator cit1=cit0+1; cit1!=last; ++cit1) { + for (auto cit1=cit0+1; cit1!=last; ++cit1) { const ex & r1 = cit1->rest; const ex & c1 = cit1->coeff; result.push_back(expair(mul(r,r1).expand(options), diff --git a/ginac/pseries.cpp b/ginac/pseries.cpp index 2ea4365f..899a8599 100644 --- a/ginac/pseries.cpp +++ b/ginac/pseries.cpp @@ -281,7 +281,7 @@ int pseries::compare_same_type(const basic & other) const return cmpval; // ...and if that failed the individual elements - epvector::const_iterator it = seq.begin(), o_it = o.seq.begin(); + auto it = seq.begin(), o_it = o.seq.begin(); while (it!=seq.end() && o_it!=o.seq.end()) { cmpval = it->compare(*o_it); if (cmpval) diff --git a/ginac/remember.cpp b/ginac/remember.cpp index da9d9833..24ff1f8e 100644 --- a/ginac/remember.cpp +++ b/ginac/remember.cpp @@ -81,8 +81,8 @@ void remember_table_list::add_entry(function const & f, ex const & result) } case remember_strategies::delete_lru: { // delete least recently used entry - iterator it = begin(); - iterator lowest_access_it = it; + auto it = begin(); + auto lowest_access_it = it; unsigned long lowest_access = (*it).get_last_access(); ++it; while (it!=end()) { @@ -97,8 +97,8 @@ void remember_table_list::add_entry(function const & f, ex const & result) } case remember_strategies::delete_lfu: { // delete least frequently used entry - iterator it = begin(); - iterator lowest_hits_it = it; + auto it = begin(); + auto lowest_hits_it = it; unsigned lowest_hits = (*it).get_successful_hits(); ++it; while (it!=end()) { @@ -121,7 +121,7 @@ void remember_table_list::add_entry(function const & f, ex const & result) bool remember_table_list::lookup_entry(function const & f, ex & result) const { - const_iterator i = begin(), iend = end(); + auto i = begin(), iend = end(); while (i != iend) { if (i->is_equal(f)) { result = i->get_result(); diff --git a/ginsh/ginsh_parser.ypp b/ginsh/ginsh_parser.ypp index 4813f63a..30b706cd 100644 --- a/ginsh/ginsh_parser.ypp +++ b/ginsh/ginsh_parser.ypp @@ -238,7 +238,7 @@ line : ';' exp : T_NUMBER {$$ = $1;} | T_SYMBOL { - exmap::const_iterator i = assigned_symbol_table.find($1); + auto i = assigned_symbol_table.find($1); if (i == assigned_symbol_table.end()) $$ = $1; else @@ -251,7 +251,7 @@ exp : T_NUMBER {$$ = $1;} | T_QUOTE2 {$$ = exstack[1];} | T_QUOTE3 {$$ = exstack[2];} | T_SYMBOL '(' exprseq ')' { - fcn_tab::const_iterator i = find_function($1, $3.nops()); + auto i = find_function($1, $3.nops()); if (i->second.is_ginac) { $$ = ((fcnp2)(i->second.p))(ex_to($3), i->second.serial); } else { -- 2.44.0