Messages in this thread | | | From | KOSAKI Motohiro <> | Subject | Re: [PATCH v3] Add generic exponentially weighted moving average (EWMA) function | Date | Thu, 21 Oct 2010 19:31:47 +0900 (JST) |
| |
Hi
I'm plaing this a bit and I have to say this doesn't works as I expected because ewma_init() has very easy confusable.
so, I have one request.
> +/** > + * ewma_init() - Initialize EWMA parameters > + * @avg: Average structure > + * @factor: Factor to use for the scaled up internal value. The maximum value > + * of averages can be UINT_MAX/(factor*weight). > + * @weight: Exponential weight, or decay rate. This defines how fast the > + * influence of older values decreases. Has to be bigger than 1. > + * > + * Initialize the EWMA parameters for a given struct ewma @avg. > + */ > +struct ewma* > +ewma_init(struct ewma *avg, const unsigned int factor, > + const unsigned int weight) > +{ > + WARN_ON(weight <= 1 || factor == 0); > + avg->weight = weight; > + avg->factor = factor; > + return avg; > +} > +EXPORT_SYMBOL(ewma_init);
Please initalize avg->internal too.
and nit, I don't understand what you intend by 'const unsigned int'. I think we can remove this const safely. it's more easy readable.
| |