nx_cast_projection_cli_gate_t290.nx source
↩ module page · 33 lines · 2098 B
1import "nx_shader_equivalence_gate_t290.nx"
2import "nx_cast_projection_capture_t235.nx"
3func pcli_count(b:*u8,n:i64,s:*u8)->i64{
4 let k:i64=sir_slen(s);var i:i64=0;var count:i64=0
5 while i+k<=n{var j:i64=0;while j<k{if b[i+j]!=s[j]{break};j=j+1};if j==k{count=count+1};i=i+1}
6 return count
7}
8func main(argc:i64,argv:*i64)->i64{
9 if argc!=4{gpe_puts("usage: producer sha output\n");return 2}
10 let c:*i64=gv_ctr();let path:*u8=argv[1] as *u8;let hash:*u8=argv[2] as *u8
11 let bytes:i64=se_extent(path)
12 if gsb_artifact_matches(path,hash,bytes)!=1{return 3}
13 let args:*i64=sys_mmap_try(7*8) as *i64;if (args as i64)<=0{return 4}
14 args[0]=path as i64;args[1]="cast-projection" as i64
15 args[2]="125" as i64;args[3]="10000" as i64;args[4]="126" as i64;args[5]="1000" as i64;args[6]=0
16 let b:*NxBufOwned=rk_owned_new();if (b as i64)<=0{return 4}
17 let rc:i64=tr_run_capture_owned(path,args,b,RK_WGSL_TMO_MS,0,0 as *u8)
18 gv_check("explicit CLI successful complete capture",rc==0&&b.len>0,c)
19 gv_check("same pinned producer after run",gsb_artifact_matches(path,hash,bytes)==1,c)
20 let fields:*i64=sys_mmap_try(5*8) as *i64;if (fields as i64)<=0{return 4}
21 gv_check("actual CLI projection metadata admitted",cpr_read(b.buf,b.len,fields)==1,c)
22 gv_check("actual CLI nondefault near",fields[0]==125,c)
23 gv_check("actual CLI nondefault far",fields[1]==10000,c)
24 gv_check("actual CLI nondefault guard",fields[2]==126,c)
25 gv_check("actual CLI nondefault denominator",fields[3]==1000,c)
26 gv_check("actual CLI nearQ8",fields[4]==32,c)
27 gv_check("both emitted projection expressions",pcli_count(b.buf,b.len,"((zv*(10.125/9.875))-(2.5/9.875))")==2,c)
28 gv_check("both emitted guard expressions",pcli_count(b.buf,b.len,"max(dot(rel,fw),0.126)")==2,c)
29 gv_check("nondefault complete evidence retained",se_retain(argv[3] as *u8,b)==1,c)
30 gv_kv("complete_capture_bytes",b.len)
31 rk_owned_close(b);sys_munmap_direct(fields as *u8,40);sys_munmap_direct(args as *u8,56)
32 return gv_verdict("PROJECTION-CLI-CAPTURE",c,"actual native CLI with complete owned capture; emitted expression independently checked by integration gate")
33}