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
pubfnadd(r: *Mutable, a: Const, b: Const) void {
if (r.addCarry(a, b)) {
// Fix up the result. Note that addCarry normalizes by a.limbs.len or b.limbs.len,// so we need to set the length here.constmsl = @max(a.limbs.len, b.limbs.len);
// `[add|sub]Carry` normalizes by `msl`, so we need to fix up the result manually here.// Note, the fact that it normalized means that the intermediary limbs are zero here.r.len = msl + 1;
r.limbs[msl] = 1; // If this panics, there wasn't enough space in `r`.
}
}
r = a + b
r, a and b may be aliases.
Asserts the result fits in
r. An upper bound on the number of limbs needed by r is@max(a.limbs.len, b.limbs.len) + 1.