zig/test/cases/recursive_fibonacci.zig
mlugg b3f9fe6d04
Unify incremental test cases and disable many
The self-hosted aarch64 backend is not currently functional due to the
Liveness changes. A previous commit disabled aarch64 on the behavior
tests; this commit disables it and arm for the test cases. Moreover, all
incremental test cases have been unified into shared cross-platform
cases, which can be gradually enabled as the backends improve.
2023-04-20 20:49:36 +01:00

25 lines
412 B
Zig

pub fn main() void {
assert(fib(0) == 0);
assert(fib(1) == 1);
assert(fib(2) == 1);
assert(fib(3) == 2);
assert(fib(10) == 55);
assert(fib(20) == 6765);
}
fn fib(n: u32) u32 {
if (n < 2) {
return n;
} else {
return fib(n - 2) + fib(n - 1);
}
}
fn assert(ok: bool) void {
if (!ok) unreachable;
}
// run
// target=x86_64-linux,x86_64-macos,wasm32-wasi
//