From 47dfe9ab7a4a658ece8b8cca08489d53758b249b Mon Sep 17 00:00:00 2001 From: Kimplul Date: Fri, 1 May 2026 22:39:26 +0300 Subject: add sum test --- tests/sum/sum.fwd | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tests/sum/sum.fwd (limited to 'tests/sum/sum.fwd') diff --git a/tests/sum/sum.fwd b/tests/sum/sum.fwd new file mode 100644 index 0000000..05a4632 --- /dev/null +++ b/tests/sum/sum.fwd @@ -0,0 +1,28 @@ +import "../../mod/libfwdio.so" + +sum_inner(i32 s, i32 n, (i32) res) +{ + if n <= 0 as i32 { + res(s); + } else { + sum_inner(s + n, n - 1 as i32, res); + } +} + +sum(i32 n, (i32) res) +{ + sum_inner(0 as i32, n, res); +} + +main() +{ + sum(1000000 as i32) => i32 s; + if s != 1784293664 as i32 { + fwdprint_str("expected 1784293664, got "); + fwdprint_i64(s as i64); + fwdprint_nl(); + } else { + fwdprint_str("OK"); + fwdprint_nl(); + } +} -- cgit v1.2.3