nx_face_feature_gate_t367r2.nx source
↩ module page · 41 lines · 2336 B
1// nx_face_feature_gate_t367r2.nx -- reusable face feature referee.
2// Native contracts are used for both measured return semantics and output capacity.
3// fa_lip_ratio returns a ratio on success and requires its declared slack region.
4import "nx_syscalls.nx"
5import "nx_sdfrender.nx"
6import "nx_faceanat.nx"
7const FFG_EXIT_USAGE: i64 = 2
8const FFG_EXIT_REFUSE: i64 = 1
9const FFG_FACE_SIZE: i64 = 1
10const FFG_ARENA_PART_CAPACITY: i64 = 48
11const FFG_LEFT_EYE: i64 = 0 - 1
12const FFG_RIGHT_EYE: i64 = 1
13func main(argc: i64, argv: *i64) -> i64 {
14 if argc != FFG_FACE_SIZE { return FFG_EXIT_USAGE }
15 let arena: *u8 = sys_mmap(sdf_bytes())
16 if (arena as i64) == 0 { return FFG_EXIT_REFUSE }
17 sdf_clear_ops(arena as i64, FFG_ARENA_PART_CAPACITY)
18 sdf_set_floor(arena as i64, 0)
19 if faceanat_build(arena as i64) != 0 { return FFG_EXIT_REFUSE }
20 let left: *i64 = sys_mmap(FA_PF_O_FIELDS * 8 + FA_LIP_SLACK) as *i64
21 let right: *i64 = sys_mmap(FA_PF_O_FIELDS * 8 + FA_LIP_SLACK) as *i64
22 if (left as i64) == 0 || (right as i64) == 0 { return FFG_EXIT_REFUSE }
23 if fa_palpebral_fissure(arena as i64, FFG_LEFT_EYE, left) != 0 { return FFG_EXIT_REFUSE }
24 if fa_palpebral_fissure(arena as i64, FFG_RIGHT_EYE, right) != 0 { return FFG_EXIT_REFUSE }
25 let lip: *i64 = sys_mmap(FA_LIP_O_FIELDS * 8 + FA_LIP_SLACK) as *i64
26 if (lip as i64) == 0 { return FFG_EXIT_REFUSE }
27 let lip_result: i64 = fa_lip_ratio(arena as i64, lip)
28 if lip_result == FA_LIP_UNMEASURED { return FFG_EXIT_REFUSE }
29 if lip[FA_LIP_O_REASON] != FA_LIP_R_OK { return FFG_EXIT_REFUSE }
30 let genes: *i64 = sys_mmap(6 * 8) as *i64
31 if (genes as i64) == 0 { return FFG_EXIT_REFUSE }
32 genes[0] = 50; genes[1] = 100; genes[2] = 100; genes[3] = 581; genes[4] = 0; genes[5] = 0
33 if faceanat_eye_genes(arena as i64, genes) != 0 { return FFG_EXIT_REFUSE }
34 if faceanat_build(arena as i64) != 0 { return FFG_EXIT_REFUSE }
35 if fa_palpebral_fissure(arena as i64, FFG_LEFT_EYE, left) != 0 { return FFG_EXIT_REFUSE }
36 if fa_palpebral_fissure(arena as i64, FFG_RIGHT_EYE, right) != 0 { return FFG_EXIT_REFUSE }
37 let lip_after_genes: i64 = fa_lip_ratio(arena as i64, lip)
38 if lip_after_genes == FA_LIP_UNMEASURED { return FFG_EXIT_REFUSE }
39 if lip[FA_LIP_O_REASON] != FA_LIP_R_OK { return FFG_EXIT_REFUSE }
40 return 0
41}