code wiki / (root) / nx_product_input_fixed_t39.nx

nx_product_input_fixed_t39.nx source

↩ module page · 23 lines · 1037 B

1import "nx_product_decompose_t39.nx" 2func main()->i64 { 3 let rows:i64=PD_MAXROW+1 4 let input:*u8=sys_mmap(rows*2) 5 var i:i64=0 6 while i<rows{input[i*2]=120 as u8;input[i*2+1]=10 as u8;i=i+1} 7 let na:*i64=sys_mmap(PD_MAXROW*8) as *i64 8 let nb:*i64=sys_mmap(PD_MAXROW*8) as *i64 9 let ta:*i64=sys_mmap(PD_MAXROW*8) as *i64 10 let tb:*i64=sys_mmap(PD_MAXROW*8) as *i64 11 let exact:i64=pd_parse(input,PD_MAXROW*2,na,nb,ta,tb) 12 let excess:i64=pd_parse(input,rows*2,na,nb,ta,tb) 13 pd_w("parse_exact=" as *u8);pd_wn(exact);pd_w(" parse_overflow=" as *u8);pd_wn(excess);pd_w("\n" as *u8) 14 if exact!=PD_MAXROW||excess>=0{return 3} 15 let allna:*i64=sys_mmap(rows*8) as *i64 16 let allnb:*i64=sys_mmap(rows*8) as *i64 17 let allta:*i64=sys_mmap(rows*8) as *i64 18 let alltb:*i64=sys_mmap(rows*8) as *i64 19 if pd_parse_capacity(input,rows*2,allna,allnb,allta,alltb,rows)!=rows{return 4} 20 if allna[rows-1]!=(rows-1)*2||allnb[rows-1]!=(rows-1)*2+1{return 5} 21 pd_w("PASS incomplete list refused; explicit capacity preserves every requirement\n" as *u8) 22 return 0 23}