Messages in this thread | | | Subject | Re: [PATCH v3] Add generic exponentially weighted moving average (EWMA) function | From | Peter Zijlstra <> | Date | Wed, 20 Oct 2010 17:03:43 +0200 |
| |
On Wed, 2010-10-20 at 17:23 +0900, Bruno Randolf wrote: > +/** > + * ewma_add() - Exponentially weighted moving average (EWMA) > + * @avg: Average structure > + * @val: Current value > + * > + * Add a sample to the average. > + */ > +struct ewma* > +ewma_add(struct ewma *avg, const unsigned int val) > +{ > + avg->internal = avg->internal ? > + (((avg->internal * (avg->weight - 1)) + > + (val * avg->factor)) / avg->weight) : > + (val * avg->factor); > + return avg; > +} > +EXPORT_SYMBOL(ewma_add);
How can it be a weighted avg if each sample has the same weight?
| |