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

bitAnd

Public Function
std.math.big.int.Managed.bitAnd
pub fn bitAnd(r: *Managed, a: *const Managed, b: *const Managed) !void

r = a & b

Params

File

math/big/int.zig:3481
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
    pub fn bitAnd(r: *Managed, a: *const Managed, b: *const Managed) !void {
        const cap = if (a.len() >= b.len())
            if (b.isPositive()) b.len() else if (a.isPositive()) a.len() else a.len() + 1
        else if (a.isPositive()) a.len() else if (b.isPositive()) b.len() else b.len() + 1;

        const aliased = limbsAliasDistinct(r, a) or limbsAliasDistinct(r, b);
        try r.ensureAliasAwareCapacity(cap, aliased);
        var m = r.toMutable();
        m.bitAnd(a.toConst(), b.toConst());
        r.setMetadata(m.positive, m.len);
    }