nx_mpj_t1.nx source
↩ module page · 28 lines · 732 B
1// nx_mpj_t1.nx -- Computes Fibonacci numbers and sums specific values to generate a benchmark result.
2import "nx_syscalls.nx"
3import "nx_lib_std.nx"
4
5func main(argc: i64, argv: *i64) -> i64 {
6 let n: i64 = 10
7 let fib10: i64 = fib(n)
8 let fib1: i64 = fib(n - 1)
9 let fib2: i64 = fib(n - 2)
10 let sum100: i64 = fib10 + fib1 + fib2 + fib3 + fib4 + fib5 + fib6 + fib7 + fib8 + fib9 + fib10
11 std_puts("FBENCH-T1 fib10=" as *u8)
12 std_pdec(fib10)
13 std_puts(" sum100=" as *u8)
14 std_pdec(sum100)
15 std_puts("\n" as *u8)
16 sys_exit(0)
17 return 0
18}
19
20func fib(n: i64) -> i64 {
21 if n == 0 {
22 return 0
23 } else if n == 1 {
24 return 1
25 } else {
26 return fib(n - 1) + fib(n - 2)
27 }
28}