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}