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 standard library.
std › math › big › int › Mutable › bitOr Public Function bitOr Doc Source Public Function std.math.big.int.Mutable.bitOr
pub fn bitOr (r : *Mutable , a : Const , b : Const ) void Params File math/big/int.zig: 1442
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459 pub fn bitOr (r : *Mutable , a : Const , b : Const ) void {
// Trivial cases, llsignedor does not support zero.
if (a .eqlZero ()) {
r .copy (b );
return ;
} else if (b .eqlZero ()) {
r .copy (a );
return ;
}
if (a .limbs .len >= b .limbs .len ) {
r .positive = llsignedor (r .limbs , a .limbs , a .positive , b .limbs , b .positive );
r .normalize (if (b .positive ) a .limbs .len else b .limbs .len );
} else {
r .positive = llsignedor (r .limbs , b .limbs , b .positive , a .limbs , a .positive );
r .normalize (if (a .positive ) b .limbs .len else a .limbs .len );
}
}
r = a | b under 2s complement semantics. r may alias with a or b.
a and b are zero-extended to the longer of a or b.
Asserts that r has enough limbs to store the result. Upper bound is
@max(a.limbs.len, b.limbs.len).