code wiki / _hdl_build / evoL_p_pow2.nx

evoL_p_pow2.nx source

↩ module page · 23 lines · 752 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 = 1 6 var i: i64 = 1 7 while i <= x { 8 acc = acc * 2 9 acc = acc - i 10 acc = acc + i 11 i = i + 1 12 } 13 sys_write(1, "RESULT=" as *u8, 7) 14 var mm: i64 = acc 15 if mm < 0 { sys_write(1, "-" as *u8, 1); mm = 0 - mm } 16 let t: *u8 = sys_mmap(28) 17 var k: i64 = 0 18 if mm == 0 { t[0] = 48 as u8; k = 1 } 19 while mm > 0 { t[k] = (48 + (mm % 10)) as u8; mm = mm / 10; k = k + 1 } 20 while k > 0 { k = k - 1; sys_write(1, (((t as i64)+k) as *u8), 1) } 21 sys_write(1, "\n" as *u8, 1) 22 return 0 23}