nx_breast_aesthetic_composite_test.nx source
↩ module page · 62 lines · 2977 B
1import "nx_syscalls.nx"
2import "nx_breast_aesthetic_composite.nx"
3
4func main() -> i64 {
5 let result: *i64 = (sys_mmap(NX_BR_AES_RES_FIELDS * 8 + 16)) as *i64
6
7 // T1: S-CLASS — all axes high.
8 nx_breast_aesthetic_composite(950, 920, 880, 920, 900, 940, result)
9 let v1: i64 = result[NX_BR_AES_RES_VERDICT]
10 let c1: i64 = result[NX_BR_AES_RES_COMPOSITE]
11 // 950*25 + 920*20 + 880*15 + 920*15 + 900*15 + 940*10 =
12 // 23750 + 18400 + 13200 + 13800 + 13500 + 9400 = 92050 / 100 = 920
13 if v1 != NX_BR_AES_S_CLASS { return 1 }
14 if c1 < 910 { return 2 }
15 if c1 > 930 { return 3 }
16
17 // T2: MATCHES_TARGET — natural but slight asymmetry.
18 nx_breast_aesthetic_composite(800, 550, 750, 800, 750, 800, result)
19 let v2: i64 = result[NX_BR_AES_RES_VERDICT]
20 let f2: i64 = result[NX_BR_AES_RES_FAIL_AXIS]
21 // composite = 800*25 + 550*20 + 750*15 + 800*15 + 750*15 + 800*10 =
22 // 20000 + 11000 + 11250 + 12000 + 11250 + 8000 = 73500 / 100 = 735
23 if v2 != NX_BR_AES_MATCHES_TARGET { return 10 }
24 if f2 != NX_BR_AES_AXIS_SYMMETRY { return 11 }
25
26 // T3: APPROACHING — pretty teardrop but implant-firm read.
27 nx_breast_aesthetic_composite(700, 700, 700, 700, 500, 200, result)
28 let v3: i64 = result[NX_BR_AES_RES_VERDICT]
29 let f3: i64 = result[NX_BR_AES_RES_FAIL_AXIS]
30 // composite = 700*25 + 700*20 + 700*15 + 700*15 + 500*15 + 200*10 =
31 // 17500 + 14000 + 10500 + 10500 + 7500 + 2000 = 62000 / 100 = 620
32 // 620 >= 614 -> MATCHES_TARGET (just over the line)
33 if v3 != NX_BR_AES_MATCHES_TARGET { return 20 }
34 if f3 != NX_BR_AES_AXIS_NATURAL { return 21 }
35
36 // T4: OFF_TARGET — all axes low (saggy uneven implant).
37 nx_breast_aesthetic_composite(250, 200, 300, 250, 150, 100, result)
38 let v4: i64 = result[NX_BR_AES_RES_VERDICT]
39 // composite = 250*25 + 200*20 + 300*15 + 250*15 + 150*15 + 100*10 =
40 // 6250 + 4000 + 4500 + 3750 + 2250 + 1000 = 21750 / 100 = 217
41 if v4 != NX_BR_AES_OFF_TARGET { return 30 }
42
43 // T5: gravity-violation only — strong everywhere else.
44 nx_breast_aesthetic_composite(900, 900, 850, 880, 100, 850, result)
45 let v5: i64 = result[NX_BR_AES_RES_VERDICT]
46 let f5: i64 = result[NX_BR_AES_RES_FAIL_AXIS]
47 // composite = 900*25 + 900*20 + 850*15 + 880*15 + 100*15 + 850*10 =
48 // 22500 + 18000 + 12750 + 13200 + 1500 + 8500 = 76450 / 100 = 764
49 if v5 != NX_BR_AES_MATCHES_TARGET { return 40 }
50 if f5 != NX_BR_AES_AXIS_GRAVITY { return 41 }
51
52 // T6: per-axis scores accessible.
53 nx_breast_aesthetic_composite(950, 920, 880, 920, 900, 940, result)
54 if result[NX_BR_AES_RES_SHAPE] != 950 { return 50 }
55 if result[NX_BR_AES_RES_SYMMETRY] != 920 { return 51 }
56 if result[NX_BR_AES_RES_NIPPLE_POS] != 880 { return 52 }
57 if result[NX_BR_AES_RES_PIGMENT] != 920 { return 53 }
58 if result[NX_BR_AES_RES_GRAVITY] != 900 { return 54 }
59 if result[NX_BR_AES_RES_NATURAL] != 940 { return 55 }
60
61 return 0
62}