Commit c46f7588ce

Andrew Kelley <andrew@ziglang.org>
2022-02-01 04:57:05
std.fmt.parseHexFloat: clean up bitwise logic
* fold a couple separate operations into one * use const instead of var * naming conventions
1 parent 7f024d6
Changed files (1)
lib/std/fmt/parse_hex_float.zig
@@ -206,13 +206,11 @@ pub fn parseHexFloat(comptime T: type, s: []const u8) !T {
     //   - we've truncated more than 0.5ULP (R=S=1)
     //   - we've truncated exactly 0.5ULP (R=1 S=0)
     // Were are going to increase the mantissa (round up)
-    var exactly_half = (mantissa & 0b11) == 0b10;
-    var more_than_half = (mantissa & 0b11) == 0b11;
+    const guard_bit_and_half_or_more = (mantissa & 0b110) == 0b110;
     mantissa >>= 2;
-    var guardBit = mantissa & 1 == 1;
     exponent += 2;
 
-    if (guardBit and (exactly_half or more_than_half)) {
+    if (guard_bit_and_half_or_more) {
         mantissa += 1;
     }