for (unsigned i=0; i<local_size; i++)
local_syms.push_back(local_dummy_indices[i].op(0));
shaker_sort(local_syms.begin(), local_syms.end(), ex_is_less(), ex_swap());
- for (unsigned i=0; i<global_size; i++)
+ for (unsigned i=0; i<local_size; i++) // don't use more global symbols than necessary
global_syms.push_back(global_dummy_indices[i].op(0));
shaker_sort(global_syms.begin(), global_syms.end(), ex_is_less(), ex_swap());
// zero. This detects things like eps.i.j.k * p.j * p.k = 0.
if (local_dummy_indices.size() >= 2) {
lst dummy_syms;
- for (int i=0; i<local_dummy_indices.size(); i++)
+ for (exvector::size_type i=0; i<local_dummy_indices.size(); i++)
dummy_syms.append(local_dummy_indices[i].op(0));
if (r.symmetrize(dummy_syms).is_zero()) {
free_indices.clear();
// Yes, construct list of all dummy index symbols
lst dummy_syms;
- for (int i=0; i<dummy_indices.size(); i++)
+ for (exvector::size_type i=0; i<dummy_indices.size(); i++)
dummy_syms.append(dummy_indices[i].op(0));
// Chop the sum into terms and symmetrize each one over the dummy