Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | |
2 | fun fib'(0,a,b) = a | |
3 | | fib'(n,a,b) = fib'(n-1,a+b,a) | |
4 | fun fib n = fib'(n,0,1) | |
5 | ||
6 | structure 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 |