sclass DoubleMinMax { double min = Double.NaN, max = Double.NaN; void add(double d) { if (isNaN(min) || d < min) min = d; if (isNaN(max) || d > max) max = d; } double rangeLength() { ret max-min; } toString { ret renderVars(+min, +max); } }