on ff98144 help sign in
elk/bench/src/TupleBench.elm
42 lines 607 B history raw
1module TupleBench where
3type alias BigTuple =
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, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0)
18getField (x1, x2, x3, x4, x5, x6, x7, x8, x9) i =
19 case (i % 9) of
20 1 ->
21 x1
22 2 ->
23 x2
24 3 ->
25 x3
26 4 ->
27 x4
28 5 ->
29 x5
30 6 ->
31 x6
32 7 ->
33 x7
34 8 ->
35 x8
36 0 ->
37 x9
40sumRandomElems : List Int -> Float
41sumRandomElems randomInts =
42 List.foldr (\i sumSoFar -> (getField defaultTuple i) + sumSoFar ) 0.0 randomInts