code wiki / (root) / nx_bench_intent_test.nx

nx_bench_intent_test.nx source

↩ module page · 76 lines · 2946 B

1// nx_bench_intent_test.nx -- KAT for intent/facet-aware metrics. 2// Native sovereign lane; exit 0 = pass, N = assertion N failed. 3 4import "fx.nx" 5import "nx_bench_intent.nx" 6 7func within(a: i64, b: i64, tol: i64) -> i64 { 8 var d: i64 = a - b 9 if d < 0 { d = 0 - d } 10 if d <= tol { return 1 } 11 return 0 12} 13 14func mk2(x0: i64, x1: i64) -> *i64 { 15 let r: *i64 = sys_mmap(2 * 8) as *i64 16 r[0] = x0; r[1] = x1 17 return r 18} 19func mk3(x0: i64, x1: i64, x2: i64) -> *i64 { 20 let r: *i64 = sys_mmap(3 * 8) as *i64 21 r[0] = x0; r[1] = x1; r[2] = x2 22 return r 23} 24func mk4(x0: i64, x1: i64, x2: i64, x3: i64) -> *i64 { 25 let r: *i64 = sys_mmap(4 * 8) as *i64 26 r[0] = x0; r[1] = x1; r[2] = x2; r[3] = x3 27 return r 28} 29 30func main() -> i64 { 31 // --- derivative grade cap (commentary never outranks primary) --- 32 if nx_bench_cap_derivative_grade(4, 1) != 2 { return 1 } 33 if nx_bench_cap_derivative_grade(4, 0) != 4 { return 2 } 34 if nx_bench_cap_derivative_grade(1, 1) != 1 { return 3 } 35 if nx_bench_cap_derivative_grade(3, 1) != 2 { return 4 } 36 37 // results: subtopic [0,1,0,2], grade [3,2,1,4], 4 facets 38 let st: *i64 = mk4(0, 1, 0, 2) 39 let gr: *i64 = mk4(3, 2, 1, 4) 40 41 // S-recall: facets {0,1,2} covered of 4 = 0.75 42 if nx_bench_subtopic_recall(st, gr, 4, 4, 4) != 49152 { return 5 } 43 44 // cube_filled: water-fill h0=4 (3+1), h1=2, h2=4 -> 10 / (4*5=20) = 0.5 45 if nx_bench_cube_filled(st, gr, 4, 4, 4, NX_CUBE_MAX_HEIGHT) != 32768 { return 6 } 46 47 // anti-redundancy: 4 hits all on facet 0, grade 5 each, max_height 5: 48 // only the first fills (5 units); rest overflow -> 5 / 20 = 0.25 49 let st_r: *i64 = mk4(0, 0, 0, 0) 50 let gr_r: *i64 = mk4(5, 5, 5, 5) 51 if nx_bench_cube_filled(st_r, gr_r, 4, 4, 4, NX_CUBE_MAX_HEIGHT) != 16384 { return 7 } 52 53 // S-recall on the redundant set: only facet 0 covered of 4 = 0.25 54 if nx_bench_subtopic_recall(st_r, gr_r, 4, 4, 4) != 16384 { return 8 } 55 56 // cube_speed: two facets covered in order at ranks 1,2 -> ideal -> 1.0 57 let st_s: *i64 = mk2(0, 1) 58 let gr_s: *i64 = mk2(1, 1) 59 if nx_bench_cube_speed(st_s, gr_s, 2, 2, 2, NX_CUBE_MAX_HEIGHT) != FX_ONE { return 9 } 60 61 // cube_speed penalizes a wasted (overflow) result at rank 2: max_height 1, 62 // facet0 filled at r1, r2 overflow, facet1 filled at r3 -> < 1.0 (~0.92) 63 let st_d: *i64 = mk3(0, 0, 1) 64 let gr_d: *i64 = mk3(1, 1, 1) 65 let speed: i64 = nx_bench_cube_speed(st_d, gr_d, 3, 3, 2, 1) 66 if within(speed, 60275, 3) != 1 { return 10 } 67 68 // full coverage of all NX_FACET_COUNT facets -> S-recall 1.0 69 let st_full: *i64 = sys_mmap(NX_FACET_COUNT * 8) as *i64 70 let gr_full: *i64 = sys_mmap(NX_FACET_COUNT * 8) as *i64 71 var i: i64 = 0 72 while i < NX_FACET_COUNT { st_full[i] = i; gr_full[i] = 2; i = i + 1 } 73 if nx_bench_subtopic_recall(st_full, gr_full, NX_FACET_COUNT, NX_FACET_COUNT, NX_FACET_COUNT) != FX_ONE { return 11 } 74 75 return 0 76}