code wiki / (root) / _a2a_tdigest_subst.nx

_a2a_tdigest_subst.nx source

↩ module page · 18 lines · 454 B

1import "syscalls.nx" 2import "sketch_tdigest.nx" 3 4func main() -> i64 { 5 let td: *TDigest = nx_tdigest_alloc(100) 6 if td == (0 as *TDigest) { return 1 } 7 var i: i64 = 1 8 while i <= 100000 { 9 nx_tdigest_add(td, i) 10 i = i + 1 11 } 12 let p99: i64 = nx_tdigest_quantile(td, 990) 13 let truth: i64 = 99000 14 var diff: i64 = p99 - truth 15 if diff < 0 { diff = -diff } 16 if diff > (truth * 5) / 100 { return 2 } 17 return 0 18}