code wiki / (root) / nx_vecmath_slerp_gate_t181.nx

nx_vecmath_slerp_gate_t181.nx

buildroot/runtime/nx_vecmath_slerp_gate_t181.nx

63874 B156 linesdepth 2pulls 4 transitivereach 0 importersview sourcekind tooltopic vecmath
docsdependenciesstructsconstsfunctions

about

nx_vecmath_slerp_gate_t181.nx -- Tests slerp interpolation of vectors with fixed-point precision and checks for errors.

dependencies 2 imports · 0 importers

nx_vecmath_slerp_candidate_t181.nx nx_syscalls.nx nx_vecmath_slerp_gate_t181.nx

imports: nx_vecmath_slerp_candidate_t181.nxnx_syscalls.nx

imported by: nobody (leaf or entry point)

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

main sys_mmap nxa_die sys_write sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ vm_q_slerp_q30 vm_q_norm_q30 vm_isqrt vm_abs vm_isqrt ↻ vm_abs ↻ qp sys_write ↻ qn sys_mmap ↻ qp ↻ sys_write ↻ sys_munmap

structs

none

consts

none

functions

4func qp(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 2: qnmain calls 1: sys_write
5func qn(v:i64)->i64{let b:*u8=sys_mmap(32);var i:i64=31;var x:i64=v;if x<0{qp("-");x=0-x};if x==0{b[i]=48 as u8;i=i-1};while x>0{b[i]=(48+x%10) as u8;i=i-1;x=x/10};sys_write(1,(b as i64+i+1) as *u8,31-i);sys_munmap(b,32);return 0}
called by 1: main calls 4: sys_mmapqpsys_writesys_munmap
6func main()->i64{let a:*i64=sys_mmap(32) as *i64;let b:*i64=sys_mmap(32) as *i64;let out:*i64=sys_mmap(32) as *i64;let scratch:*i64=sys_mmap(96) as *i64;var maxerr:i64=0;var bad:i64=0;