Fivenum: Difference between revisions
m
→{{header|Haskell}}: Tidied, applied Ormolu.
(Add Rust implementation) |
m (→{{header|Haskell}}: Tidied, applied Ormolu.) |
||
Line 915:
<lang haskell>import Data.List (sort)
fivenum :: [Double] -> [Double]
fivenum [] = []
fivenum xs
| l >= 5 =
fmap
( (/ 2)
((/ 2) . ((+) . (!!) s . floor <*> (!!) s . ceiling) . pred)▼
. ( (+) . (!!) s
. floor
)
. pred
)
[1, q, succ l / 2, succ l - q, l]
| otherwise = s
Line 929 ⟶ 933:
q = realToFrac (floor $ (l + 3) / 2) / 2
s = sort xs
[ 0.14082834▼
, 0.09748790▼
, 1.73131507▼
, 0.87636009▼
, -1.95059594▼
, 0.73438555▼
, -0.03035726▼
, 1.46675970▼
, -0.74621349▼
, -0.72588772▼
, 0.63905160▼
, 0.61501527▼
, -0.98983780▼
, -1.00447874▼
, -0.62759469▼
, 0.66206163▼
, 1.04312009▼
, -0.10305385▼
, 0.75775634▼
, 0.32566578▼
main :: IO ()
main =
print $
fivenum
▲ [ 0.14082834,
]</lang>
{{out}}
<pre>[-1.95059594,-0.676741205,0.23324706,0.746070945,1.73131507]</pre>
|