Function add [src]

Add two Edwards25519 points.

Prototype

pub fn add(p: Edwards25519, q: Edwards25519) Edwards25519

Parameters

p: Edwards25519q: Edwards25519

Source

pub fn add(p: Edwards25519, q: Edwards25519) Edwards25519 { const a = p.y.sub(p.x).mul(q.y.sub(q.x)); const b = p.x.add(p.y).mul(q.x.add(q.y)); const c = p.t.mul(q.t).mul(Fe.edwards25519d2); var d = p.z.mul(q.z); d = d.add(d); const x = b.sub(a); const y = b.add(a); const z = d.add(c); const t = d.sub(c); return .{ .x = x.mul(t), .y = y.mul(z), .z = z.mul(t), .t = x.mul(y), }; }