code wiki / (root) / nx_hash_index_test.nx

nx_hash_index_test.nx

buildroot/runtime/nx_hash_index_test.nx

3924 B81 linesdepth 3pulls 3 transitivereach 0 importersview sourcekind gate/prooftopic hash
docsdependenciesstructsconstsfunctions

about

nx_hash_index_test.nx -- proves the reusable nx_hash_index library on VARIABLE-LENGTH keys (what the real seg_store uses): correctness (every key round-trips, absent keys miss) + O(1) speed vs a linear scan. expect_exit: 0 license_tier: ORIGINAL

dependencies 1 imports · 0 importers

nx_hash_index.nx nx_hash_index_test.nx

imports: nx_hash_index.nx

imported by: nobody (leaf or entry point)

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

main ht_puts hi_new sys_mmap hi_put hi_hash hi_keq hi_get hi_hash ↻ hi_keq ↻ sys_now_us sys_mmap ↻ sys_clock_gettime_mono hi_keq ↻ ht_num

structs

none

consts

none

functions

6func ht_puts(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 1: main
7func ht_num(v: i64) -> i64 { let b: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,"-" as *u8,1)} let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48 as u8;k=1} while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1} var i: i64=0; while i<k{b[i]=t[k-1-i];i=i+1} sys_write(1,b,k); return 0 }
called by 1: main
9func main() -> i64