code wiki / _hdl_build / nx_primitive_miner_gate.nx

nx_primitive_miner_gate.nx

buildroot/runtime/_hdl_build/nx_primitive_miner_gate.nx

10251 B156 linesdepth 4pulls 4 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

dependencies 3 imports · 0 importers

nx_gate_gn.nx nx_gate_base.nx nx_syscalls.nx nx_primitive_miner_gate.nx

imports: nx_gate_gn.nxnx_gate_base.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 gw sys_write sys_mmap parse_exps slen gn keep_candidate sys_mmap ↻ fit sys_mmap ↻ rand_coef lcg_next merr model powsum pow_i lcg_next ↻ model ↻ fit ↻ model ↻ sys_exit

structs

none

consts

none

functions

20func grow(name: *u8, ok: i64) -> i64 { if ok==1 { gw(" PASS " as *u8) } else { gw(" FAIL " as *u8) } gw(name); gw("
calls 1: gw
22func slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n }
called by 2: rand_coeffit
23func lcg_next(st: *i64) -> i64 { st[0]=((1103515245*st[0])+12345)&2147483647; return st[0] }
called by 1: fit calls 1: lcg_next
24func rand_coef(st: *i64) -> i64 { return (0-9)+(lcg_next(st)%19) }
27func parse_exps(t: *u8, tlen: i64, out: *i64) -> i64
46func pow_i(i: i64, k: i64) -> i64 { var r: i64=1; var c: i64=0; while c<k { r=r*i; c=c+1 } return r }
called by 1: model calls 1: pow_i
47func powsum(k: i64, x: i64) -> i64 { var s: i64=0; var i: i64=1; while i<=x { s=s+pow_i(i,k); i=i+1 } return s }
49func model(c: *i64, candk: i64, x: i64) -> i64
54func merr(c: *i64, candk: i64, xs: *i64, ys: *i64, n: i64) -> i64
60func fit(candk: i64, xs: *i64, ys: *i64, n: i64, seed: i64, best: *i64) -> i64
88func keep_candidate(candk: i64, xs: *i64, ys: *i64, n: i64) -> i64
94func main() -> i64