fn llmulaccLong(comptime op: AccOp, r: []Limb, a: []const Limb, b: []const Limb) void
r = r (op) y * xi The result is computed modulo r.len. When r.len >= a.len + b.len, no overflow occurs.
r.len
r.len >= a.len + b.len
op: AccOp
r: []Limb
a: []const Limb
b: []const Limb
3903 3904 3905 3906 3907 3908 3909 3910 3911
fn llmulaccLong(comptime op: AccOp, r: []Limb, a: []const Limb, b: []const Limb) void { assert(r.len >= a.len); assert(a.len >= b.len); var i: usize = 0; while (i < b.len) : (i += 1) { _ = llmulLimb(op, r[i..], a, b[i]); } }
r = r (op) y * xi The result is computed modulo
r.len. Whenr.len >= a.len + b.len, no overflow occurs.