code wiki / _hdl_build / _pe_num.nx
_pe_num.nx source
↩ module page · 21 lines · 648 B
1// AUTHORED BY THE NISHI BUILDER (pattern: PARSER_KAT) -- ws-skip decimal parse, -1=refused, no Claude logic
2import "nx_syscalls.nx"
3func _pe_num_parse(b: *u8, n: i64) -> i64 {
4 var i: i64 = 0
5 var skipping: i64 = 1
6 while skipping == 1 {
7 skipping = 0
8 if i < n { if b[i] == (32 as u8) { i = i + 1; skipping = 1 } }
9 if i < n { if b[i] == (9 as u8) { i = i + 1; skipping = 1 } }
10 }
11 var v: i64 = 0 - 1
12 while i < n {
13 let c: i64 = b[i] as i64
14 if c < 48 { return v }
15 if c > 57 { return v }
16 if v < 0 { v = 0 }
17 v = v * 10 + (c - 48)
18 i = i + 1
19 }
20 return v
21}