Averages/Root mean square: Difference between revisions

→‎{{header|Haskell}}: Used Data.List.genericLength in lieu of (fromIntegral . length)
m (→‎{{header|Haskell}}: Reduced the function passed to foldr a little)
(→‎{{header|Haskell}}: Used Data.List.genericLength in lieu of (fromIntegral . length))
Line 718:
Or, writing a naive '''mean''' of our own, (but see https://donsbot.wordpress.com/2008/06/04/haskell-as-fast-as-c-working-at-a-high-altitude-for-low-level-performance/):
 
<lang haskell>rootMeanSquareimport ::Data.List [Double] -> Double(genericLength)
 
rootMeanSquare xs = sqrt $ foldr ((+) . (^ 2)) 0 xs / fromIntegral (length xs)
rootMeanSquare :: [Double] -> Double
rootMeanSquare xs = sqrt $. (((/) . foldr ((+) . (^ 2)) 0) xs / fromIntegral (length<*> xsgenericLength)
 
main :: IO ()
main = print $ rootMeanSquare [1 .. 10]</lang>
 
{{Out}}
<pre>6.2048368229954285</pre>
9,659

edits