code wiki / _hdl_build / _rt_bad_gate.nx
_rt_bad_gate.nx source
↩ module page · 28 lines · 942 B
1// AUTHORED BY THE NISHI BUILDER (pattern: GATE_HARNESS round-trip; declared-scaffold author=tutor) -- composes <uut>_encode/_decode, no Claude logic
2import "_rt_bad.nx"
3import "nx_syscalls.nx"
4func _rt_bad_gate_check() -> i64 {
5 let src: *u8 = sys_mmap(68)
6 src[0] = 17 as u8
7 src[1] = 42 as u8
8 src[2] = 200 as u8
9 src[3] = 99 as u8
10 let enc: *u8 = sys_mmap(80)
11 let dec: *u8 = sys_mmap(68)
12 let m: i64 = _rt_bad_encode(src, 4, enc)
13 let k: i64 = _rt_bad_decode(enc, m, dec)
14 var ok: i64 = 1
15 if k != 4 { ok = 0 }
16 var i: i64 = 0
17 while i < 4 { if dec[i] != src[i] { ok = 0 } i = i + 1 }
18 if m > 0 {
19 enc[0] = (255 - (enc[0] & 255)) as u8
20 let k2: i64 = _rt_bad_decode(enc, m, dec)
21 var same: i64 = 1
22 if k2 != 4 { same = 0 }
23 var j: i64 = 0
24 while j < 4 { if dec[j] != src[j] { same = 0 } j = j + 1 }
25 if same == 1 { ok = 0 }
26 }
27 return ok
28}