aboutsummaryrefslogtreecommitdiff
path: root/tests/fib/fib.fwd
blob: e07d8af598e9af3f465343f150cbd337028f2418 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import "../../mod/libfwdio.so"

fib(i64 n, (i64) res)
{
	if n < 2 {
		res(1);
	} else {
		fib(n - 1) => i64 f1;
		fib(n - 2) => i64 f2;
		res(f1 + f2);
	}
}

main()
{
	fib(20) => i64 n;
	if n == 10946 {
		fwdprint_str("OK\n");
	} else {
		fwdprint_str("expected 10946, got ");
		fwdprint_i64(n);
		fwdprint_nl();
	}
}