summaryrefslogtreecommitdiff
path: root/tigrou/fibo/fibo.tih
blob: 72123a66fddb2165f4bf18d0bcf5dc24669b917f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function fibo(n : int) : int =
	if n < 0 then
		-1
	else
		if n <= 1 then
			n
		else
			let
				var curr := 0
				var prev1 := 1
				var prev2 := 0
			in
				(for i := 2 to n do
					(curr := prev1 + prev2;
					prev2 := prev1;
					prev1 := curr));
				curr
			end