Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

shlExact

Shifts a left by shift_amt. Returns an error on overflow. shift_amt is unsigned.

math.shlExact
pub fn shlExact(comptime T: type, a: T, shift_amt: Log2Int(T)) !T

File

lib/std/math.zig:589

Code

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];
}