diff options
Diffstat (limited to 'tests/fib/fib.fwd')
| -rw-r--r-- | tests/fib/fib.fwd | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/fib/fib.fwd b/tests/fib/fib.fwd new file mode 100644 index 0000000..e07d8af --- /dev/null +++ b/tests/fib/fib.fwd @@ -0,0 +1,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(); + } +} |
