code wiki / _hdl_build / nx_compare_ladder_canon_gate_20260910.nx

nx_compare_ladder_canon_gate_20260910.nx source

↩ module page · 19 lines · 1522 B

1import "nx_swcompare_lib.nx" 2import "nx_gate_verdict.nx" 3func ldcheck(raw: *u8,expected: i64,ctr: *i64,label: *u8) -> i64 { let m: *SgPlan=sg_parse(raw,sg_len(raw),0 as *u8,0,0 as *u8,0);gv_check(label,sg_valid(m)==expected,ctr);return 0 } 4func main() -> i64 { 5 let ctr: *i64=gv_ctr();gv_head("COMPARE-LADDER-DATA" as *u8) 6 let n: *i64=sys_mmap(16) as *i64;let b: *u8=sys_read_file("knowledge/compare/gameengine.plan" as *u8,n) 7 let m: *SgPlan=sg_parse(b,n[0],0 as *u8,0,0 as *u8,0) 8 gv_check("real69declared",m.declared==69,ctr);gv_check("real69parsed",m.count==69,ctr);gv_check("realvalid",sg_valid(m)==1,ctr) 9 let i: i64=sg_find(m,"GE50" as *u8,4);let j: i64=sg_find(m,"GE57" as *u8,4) 10 gv_check("GE50-effort-unknown",streq(m.nodes[i*SGP_FIELDS+6] as *u8,"-" as *u8)==1,ctr) 11 gv_check("GE57-effort-unknown",streq(m.nodes[j*SGP_FIELDS+6] as *u8,"-" as *u8)==1,ctr) 12 let k: i64=sg_find(m,"GE59" as *u8,4);gv_check("GE59-retains-GE57",streq(m.nodes[k*SGP_FIELDS+7] as *u8,"GE57" as *u8)==1,ctr) 13 ldcheck("rung|A|title|symbol|rule|Organ|-|-\n" as *u8,1,ctr,"unknown-effort-valid") 14 ldcheck("rung|A|title\n" as *u8,0,ctr,"malformed-refused") 15 ldcheck("rung|A|title|symbol|rule|Organ|-|B\n" as *u8,0,ctr,"missing-refused") 16 ldcheck("rung|A|title|symbol|rule|Organ|-|A\n" as *u8,0,ctr,"cycle-refused") 17 ldcheck("rung|A|title|symbol|rule|Organ|-|-\nrung|A|title|symbol|rule|Organ|-|-\n" as *u8,0,ctr,"duplicate-refused") 18 return gv_verdict("COMPARE-LADDER-DATA" as *u8,ctr,"authored graph only; eligibility withheld" as *u8) 19}