public static void Add(uint[] x, uint[] y, uint[] z) { if (Nat224.Add(x, y, z) != 0 || (z[6] == uint.MaxValue && Nat224.Gte(z, P))) { Nat.Add33To(7, 6803u, z); } }
public static void Add(uint[] x, uint[] y, uint[] z) { uint c = Nat224.Add(x, y, z); if (c != 0 || (z[6] == P6 && Nat224.Gte(z, P))) { Nat.Add33To(7, PInv33, z); } }
public static void Add(uint[] x, uint[] y, uint[] z) { uint c = Nat224.Add(x, y, z); if (c != 0 || (z[6] == P6 && Nat224.Gte(z, P))) { AddPInvTo(z); } }
public static void Half(uint[] x, uint[] z) { if ((x[0] & 1) == 0) { Nat.ShiftDownBit(7, x, 0u, z); return; } uint c = Nat224.Add(x, P, z); Nat.ShiftDownBit(7, z, c); }