35 const double delta = y - old_biased;
36 const double scaled_delta = alpha * delta;
37 const double new_biased = old_biased + scaled_delta;
38 LOG (
"update %" PRIu64
" of biased %s EMA %g with %g (delta %g) "
39 "yields %g (scaled delta %g)",
40 smooth->updated,
smooth->name, old_biased, y, delta, new_biased,
44 double new_exp, div, new_value;
46 new_exp = old_exp * beta;
48 if (new_exp == old_exp) {
50 new_value = new_biased;
57 new_value = new_biased / div;
61 new_value = new_biased;
68 LOG (
"update %" PRIu64
" of corrected %s EMA %g "
69 "with %g (delta %g) yields %g (exponent %g, div %g)",
70 smooth->updated,
smooth->name, old_value, y, delta, new_value,