public static void Add(uint[] x, uint[] y, uint[] z) { if (Nat128.Add(x, y, z) != 0 || (z[3] == 4294967293u && Nat128.Gte(z, P))) { AddPInvTo(z); } }
public static void Add(uint[] x, uint[] y, uint[] z) { if ((Nat128.Add(x, y, z) != 0) || ((z[3] == 0xfffffffd) && Nat128.Gte(z, P))) { AddPInvTo(z); } }
public static void Add(uint[] x, uint[] y, uint[] z) { if (Nat128.Add(x, y, z) != 0u || (z[3] == 4294967293u && Nat128.Gte(z, SecP128R1Field.P))) { SecP128R1Field.AddPInvTo(z); } }
public static void Add(uint[] x, uint[] y, uint[] z) { uint c = Nat128.Add(x, y, z); if (c != 0 || (z[3] >= P3 && Nat128.Gte(z, P))) { AddPInvTo(z); } }
public static void Half(uint[] x, uint[] z) { if ((x[0] & 1u) == 0u) { Nat.ShiftDownBit(4, x, 0u, z); return; } uint c = Nat128.Add(x, SecP128R1Field.P, z); Nat.ShiftDownBit(4, z, c); }
public static void Half(uint[] x, uint[] z) { if ((x[0] & 1) == 0) { Nat.ShiftDownBit(4, x, 0u, z); return; } uint c = Nat128.Add(x, P, z); Nat.ShiftDownBit(4, z, c); }