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.

sign

math.sign
pub inline fn sign(n: anytype) SignOf(@TypeOf(n))

File

lib/std/math.zig:1779

Code

pub inline fn sign(n: anytype) SignOf(@TypeOf(n)) {
    const T = SignOf(@TypeOf(n));
    const zero: T = if (@typeInfo(T) == .vector) @splat(0) else 0;
    const pos: T = @intCast(@intFromBool(n > zero));
    const neg: T = @intCast(@intFromBool(n < zero));
    return pos - neg;
}