Warning: session_start(): open(/var/lib/php/sessions/sess_sk2uf7d8jrgan5mccvu52niccj, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
sclass RollingAverage {
int windowSize = 50;
int recalcEvery = 1000; // to counter floating point errors
new LinkedList list;
double sum;
int n;
*() {}
*(int *windowSize) {}
synchronized void add(double d) {
if (++n >= recalcEvery) {
n = 0;
sum = doubleSum(list);
}
if (l(list) >= windowSize)
sum -= popFirst(list);
list.add(d);
sum += d;
}
synchronized double get() {
ret doubleRatio(sum, l(list));
}
}