code wiki / (root) / nx_exp_ab.nx

nx_exp_ab.nx

buildroot/runtime/nx_exp_ab.nx

3405 B79 linesdepth 5pulls 8 transitivereach 0 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

about

nx_exp_ab.nx -- same-process A/B of the exp hot path: the OLD software nx_f32_mul/add polynomial vs the NEW hardware __f32 one (now IN nx_f32_exp). A = a local software-op copy of the poly; B = nx_f32_exp (hardware). Same inputs, back-to-back -> noise-immune RATIO + a bit-exactness check (must be 0 mismatches). license_tier: ORIGINAL expect_exit: 0

dependencies 7 imports · 0 importers

nx_syscalls.nx nx_tier.nx nx_f32.nx nx_f32_div.nx nx_f32_cvt.nx nx_f32_exp.nx nx_fmt.nx nx_exp_ab.nx

imports: nx_syscalls.nxnx_tier.nxnx_f32.nxnx_f32_div.nxnx_f32_cvt.nxnx_f32_exp.nxnx_fmt.nx

imported by: nobody (leaf or entry point)

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

main nx_f32_div nx_f32_classify nx_f32_exp_field nx_f32_mant_field nx_f32_sign nx_f32_mant_field ↻ nx_f32_exp_field ↻ nx_i32_to_f32 exp_soft nx_f32_classify ↻ nx_f32_sign ↻ nx_f32_mul nx_f32_classify ↻ nx_f32_sign ↻ nx_f32_mant_field ↻ nx_f32_exp_field ↻ _f32_to_i32_rne nx_f32_classify ↻ nx_f32_sign ↻ nx_f32_exp_field ↻ nx_f32_mant_field ↻ nx_i32_to_f32 ↻ nx_f32_sub nx_f32_add nx_f32_classify ↻ nx_f32_sign ↻ nx_f32_mant_field ↻ nx_f32_exp_field ↻ nx_f32_neg nx_f32_add ↻ _f32_ldexp nx_f32_classify ↻ nx_f32_exp_field ↻ nx_f32_sign ↻ nx_f32_exp nx_f32_classify ↻ nx_f32_sign ↻ _f32_to_i32_rne ↻ nx_i32_to_f32 ↻

structs

none

consts

14const K_MAGIC_2000000: i64 = 2000000
15const K_MAGIC_8192: i64 = 8192
16const K_MAGIC_4096: i64 = 4096

functions

18func eab_nl() -> i64 { fmt_puts("\n" as *u8); return 0 }
called by 1: main calls 1: fmt_puts
22func exp_soft(x: i64) -> i64
44func main() -> i64