code wiki / _hdl_build / _dfl_specgate.nx

_dfl_specgate.nx source

↩ module page · 32 lines · 1130 B

1// AUTHORED BY THE NISHI BUILDER (pattern: GATE_HARNESS round-trip; declared-scaffold author=tutor) -- composes encode/decode, no Claude logic 2import "nx_deflate_fixed.nx" 3import "nx_syscalls.nx" 4func _dfl_specgate_check() -> i64 { 5 let NB: i64 = 64 6 let src: *u8 = sys_mmap(128) 7 var i: i64 = 0 8 while i < NB { src[i] = ((i * 7 + 3) & 255) as u8; i = i + 1 } 9 let cap: i64 = 320 10 let enc: *u8 = sys_mmap(384) 11 let dec: *u8 = sys_mmap(128) 12 let m: i64 = dfl_encode(src, 64, enc, cap) 13 var ok: i64 = 1 14 if m <= 0 { ok = 0 } 15 if m > 0 { 16 let k: i64 = dfl_decode(enc, m, dec, 128) 17 if k != 64 { ok = 0 } 18 var j: i64 = 0 19 while j < NB { if dec[j] != src[j] { ok = 0 } j = j + 1 } 20 if m >= 4 { 21 let ti: i64 = m / 2 22 enc[ti] = (255 - (enc[ti] & 255)) as u8 23 let k2: i64 = dfl_decode(enc, m, dec, 128) 24 var same: i64 = 1 25 if k2 != 64 { same = 0 } 26 var t: i64 = 0 27 while t < NB { if dec[t] != src[t] { same = 0 } t = t + 1 } 28 if same == 1 { ok = 0 } 29 } 30 } 31 return ok 32}