_py_quant_substrate.nx source
↩ module page · 19 lines · 495 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 // gate: p99 within 5% of true 99000
14 let truth: i64 = 99000
15 var diff: i64 = p99 - truth
16 if diff < 0 { diff = -diff }
17 if diff > (truth * 5) / 100 { return 2 }
18 return 0
19}