code wiki / _hdl_build / evoL_sum.nx

evoL_sum.nx source

↩ module page · 21 lines · 708 B

1// DISCOVERED BY nx_evo_loop (evolved iterative algorithm from examples) -- a real for-loop, at a HELD-OUT x. license_tier: ORIGINAL 2import "nx_syscalls.nx" 3func main() -> i64 { 4 let x: i64 = 7 5 var acc: i64 = 0 6 var i: i64 = 1 7 while i <= x { 8 acc = acc + i 9 i = i + 1 10 } 11 sys_write(1, "RESULT=" as *u8, 7) 12 var mm: i64 = acc 13 if mm < 0 { sys_write(1, "-" as *u8, 1); mm = 0 - mm } 14 let t: *u8 = sys_mmap(28) 15 var k: i64 = 0 16 if mm == 0 { t[0] = 48 as u8; k = 1 } 17 while mm > 0 { t[k] = (48 + (mm % 10)) as u8; mm = mm / 10; k = k + 1 } 18 while k > 0 { k = k - 1; sys_write(1, (((t as i64)+k) as *u8), 1) } 19 sys_write(1, "\n" as *u8, 1) 20 return 0 21}