pub fn validUnderscores(s: []const u8, comptime base: u8) bool
pub fn validUnderscores(s: []const u8, comptime base: u8) bool { var i: usize = 0; while (i < s.len) : (i += 1) { if (s[i] == '_') { // underscore at start of end if (i == 0 or i + 1 == s.len) { return false; } // consecutive underscores if (!common.isDigit(s[i - 1], base) or !common.isDigit(s[i + 1], base)) { return false; } // next is guaranteed a digit, skip an extra i += 1; } } return true; }