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}