code wiki / (root) / nx_coder_gen_nf.nx

nx_coder_gen_nf.nx source

↩ module page · 112 lines · 3201 B

1// nx_coder_gen_nf.nx -- L3b runner: NO-FLOAT tower greedy generation on the CODER weights. 2// nsv_init(coder path) + nsv_generate (mode 0 = i32 lossless, temp 0 = greedy) on two fixed 3// prompts; writes NEUTRAL lines "GEN p<k> tl=<n> text=[<printable>]" to /tmp/coder_gen_nf.txt 4// (identical format to the f32 runner -> the fidelity gate whole-file byte-compares). 5// license_tier: ORIGINAL expect_exit: 0 6import "nx_nofloat_serve_core.nx" 7const K_MAGIC_8192: i64 = 8192 8const K_MAGIC_4000: i64 = 4000 9 10func cg_wb(fd: i64, p: *u8, n: i64) -> i64 { 11 var off: i64 = 0 12 while off < n { 13 let q: *u8 = p + off 14 let rem: i64 = n - off 15 let w: i64 = sys_write(fd, q, rem) 16 if w <= 0 { return 0 - 1 } 17 off = off + w 18 } 19 return 0 20} 21 22func cg_ws(fd: i64, s: *u8) -> i64 { 23 var n: i64 = 0 24 while s[n] != (0 as u8) { n = n + 1 } 25 let r: i64 = cg_wb(fd, s, n) 26 return r 27} 28 29func cg_wdec(fd: i64, v: i64) -> i64 { 30 let b: *u8 = sys_mmap(28) as *u8 31 let t: *u8 = sys_mmap(28) as *u8 32 var m: i64 = v 33 if m < 0 { cg_ws(fd, "-" as *u8); m = 0 - m } 34 var k: i64 = 0 35 if m == 0 { t[0] = 48 as u8; k = 1 } 36 while m > 0 { t[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 } 37 var i: i64 = 0 38 while i < k { b[i] = t[k - 1 - i]; i = i + 1 } 39 cg_wb(fd, b, k) 40 return 0 41} 42 43// write text with non-printables replaced by '.' (one line stays one line) 44func cg_wtext(fd: i64, p: *u8, n: i64) -> i64 { 45 let o: *u8 = sys_mmap(K_MAGIC_8192) as *u8 46 var i: i64 = 0 47 var cap: i64 = n 48 if cap > K_MAGIC_4000 { cap = K_MAGIC_4000 } 49 while i < cap { 50 let c: i64 = p[i] as i64 51 var v: i64 = c 52 if c < 32 { v = 46 } 53 if c > 126 { v = 46 } 54 o[i] = v as u8 55 i = i + 1 56 } 57 cg_wb(fd, o, cap) 58 return 0 59} 60 61func cg_prompt(fd: i64, k: i64, prompt: *u8, plen: i64) -> i64 { 62 let gp: *i64 = sys_mmap(128) as *i64 63 let outb: *u8 = sys_mmap(K_MAGIC_8192) as *u8 64 let meta: *i64 = sys_mmap(64) as *i64 65 gp[0] = prompt as i64 66 gp[1] = plen 67 gp[2] = 8 68 gp[3] = 0 69 gp[4] = outb as i64 70 gp[5] = K_MAGIC_8192 71 gp[6] = meta as i64 72 let neg: i64 = 0 - 1 73 gp[7] = neg 74 gp[8] = 0 75 gp[9] = 0 76 gp[10] = 0 77 gp[11] = 1 78 let tl: i64 = nsv_generate(gp) 79 cg_ws(fd, "GEN p" as *u8) 80 cg_wdec(fd, k) 81 cg_ws(fd, " tl=" as *u8) 82 cg_wdec(fd, tl) 83 cg_ws(fd, " text=[" as *u8) 84 if tl > 0 { cg_wtext(fd, outb, tl) } 85 cg_ws(fd, "]\n" as *u8) 86 return tl 87} 88 89func main() -> i64 { 90 let ir: i64 = nsv_init("/home/elderwesto/nx_stage/nx_coder_model.gguf\x00" as *u8) 91 cg_ws(1, "NF init rc=" as *u8) 92 cg_wdec(1, ir) 93 cg_ws(1, "\n" as *u8) 94 let fd: i64 = sys_openat_wr("knowledge/forge/coder_gen_nf.txt" as *u8, 420) 95 if fd < 0 { sys_exit(2); return 2 } 96 let t1: i64 = cg_prompt(fd, 1, "Hi" as *u8, 2) 97 let t2: i64 = cg_prompt(fd, 2, "func add(a" as *u8, 10) 98 sys_close(fd) 99 cg_ws(1, "NF t1=" as *u8) 100 cg_wdec(1, t1) 101 cg_ws(1, " t2=" as *u8) 102 cg_wdec(1, t2) 103 cg_ws(1, "\n" as *u8) 104 if t1 > 0 { 105 if t2 > 0 { 106 sys_exit(0) 107 return 0 108 } 109 } 110 sys_exit(1) 111 return 1 112}