Function shlExact [src]
Shifts a left by shift_amt. Returns an error on overflow. shift_amt
is unsigned.
Prototype
pub fn shlExact(comptime T: type, a: T, shift_amt: Log2Int(T)) !T
Parameters
T: type
a: T
shift_amt: Log2Int(T)
Source
pub fn shlExact(comptime T: type, a: T, shift_amt: Log2Int(T)) !T {
if (T == comptime_int) return a << shift_amt;
const ov = @shlWithOverflow(a, shift_amt);
if (ov[1] != 0) return error.Overflow;
return ov[0];
}