RosettaCodeData/Task/Averages-Simple-moving-average/Scheme/averages-simple-moving-average.ss
2013-04-10 14:58:50 -07:00

6 lines
248 B
Scheme

(define ((simple-moving-averager size . nums) num)
(set! nums (cons num (if (= (length nums) size) (reverse (cdr (reverse nums))) nums)))
(/ (apply + nums) (length nums)))
(define av (simple-moving-averager 3))
(map av '(1 2 3 4 5 5 4 3 2 1))