on ff98144 help sign in
elk/bench/src/SmallTupleBench.elm
30 lines 446 B history raw
1module SmallTupleBench where
3type alias SmallTuple =
4 ( Float
5 , Float
6 , Float
7 , Float
8 , Float
9 , Float
10 , Float
11 , Float
12 , Float
13 )
15defaultTuple =
16 (1.0, 2.0, 3.0)
18getField (x1, x2, x3) i =
19 case (i % 3) of
20 1 ->
21 x1
22 2 ->
23 x2
24 0 ->
25 x3
28sumRandomElems : List Int -> Float
29sumRandomElems randomInts =
30 List.foldr (\i sumSoFar -> (getField defaultTuple i) + sumSoFar ) 0.0 randomInts