code wiki / (root) / _a2a_subst.nx

_a2a_subst.nx source

↩ module page · 30 lines · 657 B

1import "syscalls.nx" 2import "sketch_hll.nx" 3 4func write_b(buf: *u8, value: i64) -> i64 { 5 var i: i64 = 0 6 var v: i64 = value 7 while i < 8 { 8 buf[i] = (v & 0xFF) as u8 9 v = v >> 8 10 i = i + 1 11 } 12 return 0 13} 14 15func main() -> i64 { 16 let hll: *Hll = nx_hll_alloc(12, 42) 17 if hll == (0 as *Hll) { return 1 } 18 let key_raw: *u8 = sys_mmap(8) 19 let key: *u8 = key_raw 20 var i: i64 = 0 21 while i < 100000 { 22 write_b(key, i + 9000000) 23 nx_hll_add(hll, key, 8) 24 i = i + 1 25 } 26 let est: i64 = nx_hll_estimate(hll) 27 if est < 95000 { return 2 } 28 if est > 105000 { return 3 } 29 return 0 30}