_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}