code wiki / _hdl_build / nx_vcodec_neural_entropy_gate.nx

nx_vcodec_neural_entropy_gate.nx

buildroot/runtime/_hdl_build/nx_vcodec_neural_entropy_gate.nx

15999 B300 linesdepth 5pulls 21 transitivereach 0 importersview sourcekind gate/prooftopic vcodec
docsdependenciesstructsconstsfunctions

dependencies 9 imports · 0 importers

nx_gate_base.nx nx_syscalls.nx nx_dct8.nx nx_vcodec.nx nx_f32.nx nx_f32_exp.nx nx_f32_log.nx nx_f32_div.nx nx_f32_cvt.nx nx_vcodec_neural_entropy_gate.

imports: nx_gate_base.nxnx_syscalls.nxnx_dct8.nxnx_vcodec.nxnx_f32.nxnx_f32_exp.nxnx_f32_log.nxnx_f32_div.nxnx_f32_cvt.nx

imported by: nobody (leaf or entry point)

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

main gw sys_write sys_mmap sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close nx_dct8_init build_samples nx_dct8_forward_2d nx_dct8_forward_1d vc_quant8 f_one nx_i32_to_f32 f_frac 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 ↻ f_i nx_i32_to_f32 ↻ gn sys_mmap ↻ sys_write ↻ nx_f32_log nx_f32_classify ↻ nx_f32_sign ↻ nx_f32_exp_field ↻ nx_f32_mant_field ↻ nx_f32_sub nx_f32_add nx_f32_classify ↻ nx_f32_sign ↻

structs

none

consts

21const NW: i64 = 576
22const NH: i64 = 1024
23const NFEAT: i64 = 6 // bias, band, left-sig, up-sig, upleft-sig, neighbor-mag
24const MAXSAMP: i64 = 400000 // coefficient samples cap

functions

26func grow(name: *u8, ok: i64) -> i64 { if ok==1 { gw(" PASS " as *u8) } else { gw(" FAIL " as *u8) } gw(name); gw("
calls 1: gw
28func gn(v: i64) -> i64
32func g3(v: i64) -> i64 { gn(v/1000); gw("." as *u8); let f: i64=v%1000; if f<100 { gw("0" as *u8) } if f<10 { gw("0" as *u8) } gn(f); return 0 }
36func f_one() -> i64 { return nx_i32_to_f32(1) }
37func f_i(v: i64) -> i64 { return nx_i32_to_f32(v) }
38func f_frac(num: i64, den: i64) -> i64 { return nx_f32_div(nx_i32_to_f32(num), nx_i32_to_f32(den)) }
40func f_to_i(raw: i64) -> i64
50func f_sigmoid(x: i64) -> i64 { return nx_f32_div(f_one(), nx_f32_add(f_one(), nx_f32_exp(nx_f32_neg(x)))) }
52func f_neglog2_milli(p: i64) -> i64
63func build_samples(yuv: *u8, f0: i64, f1: i64, qp: i64, M: *i64, scr: *i64, ti: *i64, to: *i64,
106func eval_model(w: *i64, feats: *i64, labels: *i64, ns: i64) -> i64
120func main() -> i64