public static void Subtract(uint[] x, uint[] y, uint[] z) { if (Nat256.Sub(x, y, z) != 0) { Nat.Sub33From(8, 0x3d1, z); } }
public static void Subtract(uint[] x, uint[] y, uint[] z) { if (Nat256.Sub(x, y, z) != 0) { SubPInvFrom(z); } }
public static void Subtract(uint[] x, uint[] y, uint[] z) { int c = Nat256.Sub(x, y, z); if (c != 0) { Nat.Sub33From(8, PInv33, z); } }
public static void Subtract(uint[] x, uint[] y, uint[] z) { int num = Nat256.Sub(x, y, z); if (num != 0) { Nat.Sub33From(8, 977u, z); } }
public static void Negate(uint[] x, uint[] z) { if (Nat256.IsZero(x)) { Nat256.Zero(z); return; } Nat256.Sub(SecP256K1Field.P, x, z); }
public static uint[] FromBigInteger(BigInteger x) { uint[] z = Nat256.FromBigInteger(x); if (z[7] == P7 && Nat256.Gte(z, P)) { Nat256.Sub(z, P, z); } return(z); }
public static void Twice(uint[] x, uint[] z) { uint c = Nat256.ShiftUpBit(x, 0, z); if (c != 0 || (z[7] == P7 && Nat256.Gte(z, P))) { Nat256.Sub(z, P, z); } }
public static void Subtract(uint[] x, uint[] y, uint[] z) { int c = Nat256.Sub(x, y, z); if (c != 0) { Nat256.Add(z, P, z); } }
public static void Add(uint[] x, uint[] y, uint[] z) { uint c = Nat256.Add(x, y, z); if (c != 0 || (z[7] == P7 && Nat256.Gte(z, P))) { Nat256.Sub(z, P, z); } }
public static void Subtract(uint[] x, uint[] y, uint[] z) { int num = Nat256.Sub(x, y, z); if (num != 0) { SecP256R1Field.SubPInvFrom(z); } }
public static void Subtract(uint[] x, uint[] y, uint[] z) { int c = Nat256.Sub(x, y, z); if (c != 0) { Nat256.SubDWord(PInv, z); } }
public static void AddOne(uint[] x, uint[] z) { Nat256.Copy(x, z); uint c = Nat256.Inc(z, 0); if (c != 0 || (z[7] == P7 && Nat256.Gte(z, P))) { Nat256.Sub(z, P, z); } }
public static void Negate(uint[] x, uint[] z) { if (Nat256.IsZero(x)) { Nat256.Zero(z); } else { Nat256.Sub(P, x, z); } }
public static void Reduce32(uint x, uint[] z) { long xx08 = x; long cc = 0; cc += (long)z[0] + xx08; z[0] = (uint)cc; cc >>= 32; cc += (long)z[1]; z[1] = (uint)cc; cc >>= 32; cc += (long)z[2]; z[2] = (uint)cc; cc >>= 32; cc += (long)z[3] - xx08; z[3] = (uint)cc; cc >>= 32; cc += (long)z[4]; z[4] = (uint)cc; cc >>= 32; cc += (long)z[5]; z[5] = (uint)cc; cc >>= 32; cc += (long)z[6] - xx08; z[6] = (uint)cc; cc >>= 32; cc += (long)z[7] + xx08; z[7] = (uint)cc; cc >>= 32; if (cc != 0 || (z[7] == P7 && Nat256.Gte(z, P))) { Nat256.Sub(z, P, z); } }