Zig 0.17.0-dev (Split by item)

Shortcut keys
?
Show these tips
S
Focus search field
Esc
Clear focus & close tips
U
Jump to source code
↑
Move up in search results
↓
Move down in search results
↵
Go to active search result
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 standard library. Public Function

saturate

Public Function
std.math.big.int.Mutable.saturate
pub fn saturate(r: *Mutable, a: Const, signedness: Signedness, bit_count: usize) void

Saturate an integer to a number of bits, following 2s-complement semantics. r may alias a.

Asserts r has enough storage to store the result. The upper bound is calcTwosCompLimbCount(a.len).

Params

File

math/big/int.zig:2026
2026
2027
2028
2029
2030
    pub fn saturate(r: *Mutable, a: Const, signedness: Signedness, bit_count: usize) void {
        if (!a.fitsInTwosComp(signedness, bit_count)) {
            r.setTwosCompIntLimit(if (r.positive) .max else .min, signedness, bit_count);
        }
    }