code wiki / _hdl_build / nx_epose_gate.nx

nx_epose_gate.nx

buildroot/runtime/_hdl_build/nx_epose_gate.nx

4910 B105 linesdepth 4pulls 4 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_epose_gate.nx -- benchmark E->R,t decomposition (cadtwin P1, completes photo->pose->3D). Build E from a KNOWN (R,t), decompose, and verify one of the two rotation candidates matches R and the recovered translation direction matches t (up to sign -- the 4-fold resolved by cheirality). KATs: identity rotation + a 30deg-y rotation. Deterministic. expect_exit: 0 license_tier: ORIGINAL

dependencies 1 imports · 0 importers

nx_epose.nx nx_epose_gate.nx

imports: nx_epose.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main qg_puts run_case ep_build_E ep_matmul ep_abs ep_decompose ep_transpose ep_matmul ↻ ep_eig_dom ep_abs ↻ r3_normalize r3_isqrt ep_mv ep_eig_null ep_abs ↻ ep_eig_dom ↻ ep_cross r3_normalize ↻ ep_dethand ep_cross ↻ ep_mv ↻ ep_frob r3_normalize ↻ qg_putn qg_puts ↻ qg_tooth qg_puts ↻

structs

none

consts

none

functions

7func qg_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 }
called by 3: qg_putnqg_toothmain
8func qg_putn(v: i64) -> i64
called by 1: main calls 1: qg_puts
21func qg_tooth(name: *u8, pass: i64, fails: *i64) -> i64
called by 1: main calls 1: qg_puts
30func run_case(R: *i64, tx: i64, ty: i64, tz: i64, out2: *i64) -> i64
51func main() -> i64