// merge two runs and store info in first run. void Run::merge (Run& run) { // merge bucket ranges buckets.splice(buckets.end(), run.getBuckets()); totalFreq += run.getTotalFreq(); freqBounds.first = std::min(getLoFreq(), run.getLoFreq()); freqBounds.second = std::max(getHiFreq(), run.getHiFreq()); Bounds extBounds = run.getRangeBounds(); rangeBounds.first = std::min(extBounds.first, rangeBounds.first); rangeBounds.second = std::max(extBounds.second, rangeBounds.second); }
// return minimum of maximum differences. double Run::getMinDiff (Run& run) { return std::min(run.getHiFreq() - getLoFreq(), getHiFreq() - run.getLoFreq()); }