Import Upstream version 20180207
[hcoop/debian/mlton.git] / benchmark / tests / tailfib.sml
CommitLineData
7f918cf1
CE
1
2fun fib'(0,a,b) = a
3 | fib'(n,a,b) = fib'(n-1,a+b,a)
4fun fib n = fib'(n,0,1)
5
6structure Main =
7 struct
8 fun doit() =
9 if 701408733 <> fib 44
10 then raise Fail "bug"
11 else ()
12
13 val doit =
14 fn n =>
15 let
16 fun loop n =
17 if n = 0
18 then ()
19 else (doit();
20 loop(n-1))
21 in loop (n * 1000000)
22 end
23 end