18 lines
354 B
Common Lisp
18 lines
354 B
Common Lisp
(defun running-stddev ()
|
|
(let ((sum 0) (sq 0) (n 0))
|
|
(lambda (x)
|
|
(incf sum x) (incf sq (* x x)) (incf n)
|
|
(/ (sqrt (- (* n sq) (* sum sum))) n))))
|
|
|
|
CL-USER> (loop with f = (running-stddev) for i in '(2 4 4 4 5 5 7 9) do
|
|
(format t "~a ~a~%" i (funcall f i)))
|
|
NIL
|
|
2 0.0
|
|
4 1.0
|
|
4 0.94280905
|
|
4 0.8660254
|
|
5 0.97979593
|
|
5 1.0
|
|
7 1.3997085
|
|
9 2.0
|