sclass Scorer { double score, total; void addZeroToOne(double score) { ++total; this.score += clamp(score, 0, 1); } void addZeroToOneError(double error) { addZeroToOne(1-error); } void add(bool correct) { ++total; if (correct) ++score; } void print() { main.print(toString()); } toString { ret formatDouble(ratioToPercent_floor(score, total), 1) + "% correct (n=" + total + ")"; } }