Ignore:
Timestamp:
Oct 20, 2016, 8:52:32 PM (9 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Fix_IndependentFragmentGrids
Children:
8d6a44
Parents:
1e6cf0
git-author:
Frederik Heber <heber@…> (09/22/16 05:46:50)
git-committer:
Frederik Heber <heber@…> (10/20/16 20:52:32)
Message:

FIX: (Orthogonal)Summation::Sum() summed small fragments then large ones.

  • added rbegin() and rend() to SetValueMap's interface.
  • this fails for the new individual fragment SamplingGrids because there we assume that we always sum a grid of smaller extension onto a larger one. now, we go in reverse order through the list of setvalues and sum from largest down to smallest.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Fragmentation/Summation/OrthogonalSummation_impl.hpp

    r1e6cf0 r8a91f5  
    7272{
    7373  T sum(zeroinstance);
    74   for(typename SetValueMap<T>::const_iterator iter = setvalues.begin();
    75       (iter != setvalues.end()) && (iter->first->size() <= level); ++iter) {
     74  // go from largest fragments to smallest
     75  for(typename SetValueMap<T>::const_reverse_iterator iter = setvalues.rbegin();
     76      iter != setvalues.rend(); ++iter) {
     77    if (iter->first->size() > level)
     78      continue;
    7679    const T tempvalue = (iter->second)->getContribution();
    7780    sum += tempvalue;
Note: See TracChangeset for help on using the changeset viewer.