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}