sclass AdaptiveAverage { double divisor = 1, value, coolDownSpeed = .5; void add(double d) { value = blend(value, d, 1/divisor); divisor += coolDownSpeed; } double get() { ret value; } double age() { ret divisor; } }