diff --git a/vegas.mm b/vegas.mm index 770373984d60d1743857c557d589ec8d17176113..1135d8b98e2026c29e1dc27c106656004baaaeb4 100644 --- a/vegas.mm +++ b/vegas.mm @@ -328,7 +328,15 @@ ScalePlot[a_,s_]:={1/s,s,s}#&/@a ScalePlot[a_,sx_,sy_]:={1/sx,sy,sy}#&/@a -MergeBins[plot_, n_] := { +MergeBins[{{DirectedInfinity[-1], u_,e_}, stuff___}, n_] := Prepend[ + MergeBins[{stuff}, n], + {DirectedInfinity[-1], u,e} +] +MergeBins[{stuff___, {DirectedInfinity[+1], o_,e_}}, n_] := Append[ + MergeBins[{stuff}, n], + {DirectedInfinity[+1], o,e} +] +MergeBins[plot_, n_]/;FreeQ[plot,DirectedInfinity|Infinity] := { Plus @@ #[[;; , 1]]/n, Plus @@ #[[;; , 2]]/n, Sqrt[ Plus @@ (#[[;; , 3]]^2)]/n } & /@ Partition[plot, n]