// can overwrite original object! static Range addToRange(Range r, float val) { if (r == null) ret new Range(val); if (r.min > r.max) r.min = r.max = val; else { if (val < r.min) r.min = val; if (val > r.max) r.max = val; } ret r; }