Cumulative standard deviation: Difference between revisions

Content deleted Content added
Line 868: Line 868:
import Control.Monad.ST
import Control.Monad.ST


sd :: [Double] -> Double
sd :: RealFloat a => [a] -> a
sd l = sqrt $ sum (map ((^2) . subtract mean) l) / n
sd l = sqrt $ sum (map ((^2) . subtract mean) l) / n
where n = genericLength l
where n = genericLength l
mean = sum l / n
mean = sum l / n


sdAccum :: ST s (Double -> ST s Double)
sdAccum :: RealFloat a => ST s (a -> ST s a)
sdAccum = do
sdAccum = do
accum <- newSTRef []
accum <- newSTRef []