lib: Add generic exponentially weighted moving average (EWMA) function
authorBruno Randolf <br1@einfach.org>
Tue, 16 Nov 2010 01:58:37 +0000 (10:58 +0900)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 18 Nov 2010 19:21:52 +0000 (14:21 -0500)
commitc5485a7e7569ab32eea240c850198519e2a765ef
tree928a8556deaec0811d1b83102b33365aab28a270
parent50a9432daeece6fc1309bef1dc0a7b8fde8204cb
lib: Add generic exponentially weighted moving average (EWMA) function

This adds generic functions for calculating Exponentially Weighted Moving
Averages (EWMA). This implementation makes use of a structure which keeps the
EWMA parameters and a scaled up internal representation to reduce rounding
errors.

The original idea for this implementation came from the rt2x00 driver
(rt2x00link.c). I would like to use it in several places in the mac80211 and
ath5k code and I hope it can be useful in many other places in the kernel code.

Signed-off-by: Bruno Randolf <br1@einfach.org>
Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
include/linux/average.h [new file with mode: 0644]
lib/Kconfig
lib/Makefile
lib/average.c [new file with mode: 0644]