Commit 8ddce90e62
Changed files (1)
lib
std
lib/std/ascii.zig
@@ -182,20 +182,14 @@ pub const isASCII = isAscii;
/// Uppercases the character and returns it as-is if already uppercase or not a letter.
pub fn toUpper(c: u8) u8 {
- if (isLower(c)) {
- return c & 0b11011111;
- } else {
- return c;
- }
+ const mask = @as(u8, @intFromBool(isLower(c))) << 5;
+ return c ^ mask;
}
/// Lowercases the character and returns it as-is if already lowercase or not a letter.
pub fn toLower(c: u8) u8 {
- if (isUpper(c)) {
- return c | 0b00100000;
- } else {
- return c;
- }
+ const mask = @as(u8, @intFromBool(isUpper(c))) << 5;
+ return c | mask;
}
test "ASCII character classes" {