package water.util;
import water.api.Constants;
import dontweave.gson.JsonObject;
public class Counter {
double _min = Double.MAX_VALUE, _max = Double.MIN_VALUE;
int _count;
double _total;
public void add(double what) {
_total += what;
_min = Math.min(what, _min);
_max = Math.max(what, _max);
++_count;
}
public double mean() { return _total / _count; }
public JsonObject toJson() {
JsonObject json = new JsonObject();
json.addProperty(Constants.MIN, _min);
json.addProperty(Constants.MEAN, mean());
json.addProperty(Constants.MAX, _max);
return json;
}
@Override public String toString() {
return _count==0 ? " / / " : String.format("%4.1f / %4.1f / %4.1f", _min, mean(), _max);
}
}