You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During Histogram merge, fixed a possible issue with the bin edge logic during the import to HistogramVBW resulting from floating point errors in the bin edge calculation. Now the neighboring upper and lower bin edges in the VBW are forced to coincide.
Improved error checking and reporting for HistogramVBW.
Fatal errors now output a stack trace to make bug hunting easier!
if(of->is_end) fatal_error("Cannot insert right of end");
673
+
if(toins->l < of->u || toins->u < of->u){
674
+
std::ostringstream os; os << "Cannot insert " << getBinInfo(toins) << " right of " << getBinInfo(of) << " because the edges are not properly ordered: "
os << "Logic error in bin search, expect " << v << " to be within bin " << getBinInfo(cur) << " but the value is below the lower edge. Possibly the chain edges are not ordered? Chain: " << getChainInfo(start);
std::ostringstream of; of << "Lower bin edge should match upper bin edge of previous bin! Got " << prev_upper << "" << be.first << " reldiff " << reldiff_l;
871
+
fatal_error(of.str());
872
+
}
873
+
874
+
hp = Bin::insertRight(hp, newBin(prev_upper, be.second, h.binCount(b)) );
0 commit comments