code wiki / (root) / nx_linalg_affine_domain_candidate_t342.nx

nx_linalg_affine_domain_candidate_t342.nx

buildroot/runtime/nx_linalg_affine_domain_candidate_t342.nx

8780 B140 linesdepth 7pulls 10 transitivereach 0 importersview sourcekind orphan librarytopic linalg
docsdependenciesstructsconstsfunctions

about

Private additive linear-algebra extension for scale-preserving affine skinning. Uses existing Q30 arithmetic; no new persistent asset format.

dependencies 1 imports · 0 importers

nx_linalg.nx nx_linalg_affine_domain_candid

imports: nx_linalg.nx

imported by: nobody (leaf or entry point)

structs

none

consts

4const LA_AFFINE_RANGE:i64=0-60
5const LA_AFFINE_SINGULAR:i64=0-61
6const LA_AFFINE_RESIDUAL:i64=0-62
7const LA_AFFINE_MAX:i64=70368744177664
8const LA_AFFINE_I64_MAX:i64=9223372036854775807
57const LA_STATIC_INPUT_WORDS:i64=13
58const LA_STATIC_OUTPUT_WORDS:i64=6
59const LA_STATIC_SCRATCH_WORDS:i64=48
60const LA_BINARY32_FRACTION_BITS:i64=23
61const LA_BINARY32_ULP_DEN:i64=8388608
62const LA_STATIC_SOURCE_SHIFT:i64=10
63const LA_STATIC_PATH_ROUNDS:i64=5
64const LA_STATIC_GAMMA_FACTOR:i64=2*LA_STATIC_PATH_ROUNDS
65const LA_STATIC_Q8_SHIFT:i64=FQ_SHIFT-8

functions

9func la_affine_domain(v:i64)->i64{if v<=0-LA_AFFINE_MAX||v>=LA_AFFINE_MAX{return LA_AFFINE_RANGE};return 0}
11func la_inverse3_q30(a:*Mat,out:*Mat,residual_budget:i64,report:*i64)->i64
41func la_affine_compose_q30(a:*i64,b:*i64,out:*i64)->i64
66func la_iv(p:*i64,index:i64)->*i64{return ((p as i64)+index*16) as *i64}
67func la_iv_abs(p:*i64)->i64{let a:i64=fq_abs(p[0]);let b:i64=fq_abs(p[1]);if a>b{return a};return b}
called by 1: la_static_yaw_bounds_f32 calls 1: fq_abs
68func la_f32_ordered(a:i64,b:i64)->i64
74func la_iv_f32(bits:i64,power:i64,out:*i64)->i64
89func la_iv_mul(a:*i64,b:*i64,out:*i64)->i64
99func la_static_storage_disjoint(a:*i64,aw:i64,b:*i64,bw:i64)->i64
105func la_static_yaw_bounds_f32(input:*i64,input_words:i64,out:*i64,out_words:i64,scratch:*i64,scratch_words:i64)->i64