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