code wiki / (root) / nx_mpj_t1.nx

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}