public static void Twice(uint[] x, uint[] z) { if (Nat.ShiftUpBit(5, x, 0u, z) != 0 || (z[4] == uint.MaxValue && Nat160.Gte(z, P))) { Nat.AddWordTo(5, 2147483649u, z); } }
public static void Twice(uint[] x, uint[] z) { if (Nat.ShiftUpBit(5, x, 0u, z) != 0u || (z[4] == 4294967295u && Nat160.Gte(z, SecP160R1Field.P))) { Nat.AddWordTo(5, 2147483649u, z); } }
public static void Reduce32(uint x, uint[] z) { if ((x != 0 && Nat160.MulWordsAdd(2147483649u, x, z, 0) != 0) || (z[4] == uint.MaxValue && Nat160.Gte(z, P))) { Nat.AddWordTo(5, 2147483649u, z); } }
public static void AddOne(uint[] x, uint[] z) { if (Nat.Inc(5, x, z) != 0u || (z[4] == 4294967295u && Nat160.Gte(z, SecP160R1Field.P))) { Nat.AddWordTo(5, 2147483649u, z); } }
public static void AddOne(uint[] x, uint[] z) { if ((Nat.Inc(5, x, z) != 0) || ((z[4] == uint.MaxValue) && Nat160.Gte(z, P))) { Nat.AddWordTo(5, 0x80000001, z); } }
public static void Reduce32(uint x, uint[] z) { if ((x != 0u && Nat160.MulWordsAdd(2147483649u, x, z, 0) != 0u) || (z[4] == 4294967295u && Nat160.Gte(z, SecP160R1Field.P))) { Nat.AddWordTo(5, 2147483649u, z); } }
public static void Reduce32(uint x, uint[] z) { if (((x != 0) && (Nat160.MulWordsAdd(0x80000001, x, z, 0) != 0)) || ((z[4] == uint.MaxValue) && Nat160.Gte(z, P))) { Nat.AddWordTo(5, 0x80000001, z); } }
public static void Twice(uint[] x, uint[] z) { if ((Nat.ShiftUpBit(5, x, 0, z) != 0) || ((z[4] == uint.MaxValue) && Nat160.Gte(z, P))) { Nat.AddWordTo(5, 0x80000001, z); } }
public static void Add(uint[] x, uint[] y, uint[] z) { if (Nat160.Add(x, y, z) != 0 || (z[4] == 4294967295u && Nat160.Gte(z, P))) { Nat.AddWordTo(5, 2147483649u, z); } }
public static void AddOne(uint[] x, uint[] z) { if (Nat.Inc(5, x, z) != 0 || (z[4] == uint.MaxValue && Nat160.Gte(z, P))) { Nat.AddWordTo(5, 2147483649u, z); } }
public static void Reduce32(uint x, uint[] z) { if ((x != 0 && Nat160.MulWordsAdd(PInv, x, z, 0) != 0) || (z[4] == P4 && Nat160.Gte(z, P))) { Nat.AddWordTo(5, PInv, z); } }
public static void Twice(uint[] x, uint[] z) { uint c = Nat.ShiftUpBit(5, x, 0, z); if (c != 0 || (z[4] == P4 && Nat160.Gte(z, P))) { Nat.AddWordTo(5, PInv, z); } }
public static void AddOne(uint[] x, uint[] z) { uint c = Nat.Inc(5, x, z); if (c != 0 || (z[4] == P4 && Nat160.Gte(z, P))) { Nat.AddWordTo(5, PInv, z); } }
public static void Reduce27(uint x, uint[] z) { uint num = z[7]; uint num2 = (x << 1) | (num >> 31); num &= 0x7FFFFFFFu; if ((z[7] = num + Nat.AddWordTo(7, num2 * 19, z)) >= 2147483647 && Nat256.Gte(z, P)) { SubPFrom(z); } }
public static void Reduce27(uint x, uint[] z) { uint num = z[7]; uint num2 = (x << 1) | (num >> 31); num &= int.MaxValue; if ((z[7] = num + Nat.AddWordTo(7, num2 * 19, z)) >= int.MaxValue && Nat256.Gte(z, P)) { SubPFrom(z); } }
public static void Reduce23(uint[] z) { uint num = z[16]; uint num2 = Nat.AddWordTo(16, num >> 9, z) + (num & 511u); if (num2 > 511u || (num2 == 511u && Nat.Eq(16, z, SecP521R1Field.P))) { num2 += Nat.Inc(16, z); num2 &= 511u; } z[16] = num2; }
public static void Reduce23(uint[] z) { uint num = z[0x10]; uint num2 = Nat.AddWordTo(0x10, num >> 9, z) + (num & 0x1ff); if ((num2 > 0x1ff) || ((num2 == 0x1ff) && Nat.Eq(0x10, z, P))) { num2 += Nat.Inc(0x10, z); num2 &= 0x1ff; } z[0x10] = num2; }
public static void Reduce23(uint[] z) { uint z16 = z[16]; uint c = Nat.AddWordTo(16, z16 >> 9, z) + (z16 & P16); if (c > P16 || (c == P16 && Nat.Eq(16, z, P))) { c += Nat.Inc(16, z); c &= P16; } z[16] = c; }
public static void Reduce23(uint[] z) { uint num = z[16]; uint num2 = Nat.AddWordTo(16, num >> 9, z) + (num & 0x1FF); if (num2 > 511 || (num2 == 511 && Nat.Eq(16, z, P))) { num2 += Nat.Inc(16, z); num2 &= 0x1FF; } z[16] = num2; }
public static void Reduce27(uint x, uint[] z) { uint num = z[7]; uint num2 = x << 1 | num >> 31; num &= 2147483647u; num += Nat.AddWordTo(7, num2 * 19u, z); z[7] = num; if (num >= 2147483647u && Nat256.Gte(z, Curve25519Field.P)) { Curve25519Field.SubPFrom(z); } }
public static void Reduce27(uint x, uint[] z) { uint num = z[7]; uint num2 = (x << 1) | (num >> 0x1f); num &= 0x7fffffff; num += Nat.AddWordTo(7, num2 * 0x13, z); z[7] = num; if ((num >= 0x7fffffff) && Nat256.Gte(z, P)) { SubPFrom(z); } }
public static void Reduce27(uint x, uint[] z) { Debug.Assert(x >> 26 == 0); uint z7 = z[7]; uint c = (x << 1 | z7 >> 31); z7 &= P7; z7 += Nat.AddWordTo(7, c * PInv, z); z[7] = z7; if (z7 >= P7 && Nat256.Gte(z, P)) { SubPFrom(z); } }
public static void Reduce(uint[] xx, uint[] z) { uint num = xx[7]; Nat.ShiftUpBit(8, xx, 8, num, z, 0); uint num2 = Nat256.MulByWordAddTo(19u, xx, z) << 1; uint num3 = z[7]; num2 += (num3 >> 31) - (num >> 31); num3 &= 0x7FFFFFFFu; if ((z[7] = num3 + Nat.AddWordTo(7, num2 * 19, z)) >= 2147483647 && Nat256.Gte(z, P)) { SubPFrom(z); } }
public static void Reduce(uint[] xx, uint[] z) { uint c = xx[7]; Nat.ShiftUpBit(8, xx, 8, c, z, 0); uint num2 = Nat256.MulByWordAddTo(0x13, xx, z) << 1; uint num3 = z[7]; num2 += (num3 >> 0x1f) - (c >> 0x1f); num3 &= 0x7fffffff; num3 += Nat.AddWordTo(7, num2 * 0x13, z); z[7] = num3; if ((num3 >= 0x7fffffff) && Nat256.Gte(z, P)) { SubPFrom(z); } }
public static void Reduce(uint[] xx, uint[] z) { uint num = xx[7]; Nat.ShiftUpBit(8, xx, 8, num, z, 0); uint num2 = Nat256.MulByWordAddTo(19u, xx, z) << 1; uint num3 = z[7]; num2 += (num3 >> 31) - (num >> 31); num3 &= 2147483647u; num3 += Nat.AddWordTo(7, num2 * 19u, z); z[7] = num3; if (num3 >= 2147483647u && Nat256.Gte(z, Curve25519Field.P)) { Curve25519Field.SubPFrom(z); } }
public static void Reduce(uint[] xx, uint[] z) { Debug.Assert(xx[15] >> 30 == 0); uint xx07 = xx[7]; Nat.ShiftUpBit(8, xx, 8, xx07, z, 0); uint c = Nat256.MulByWordAddTo(PInv, xx, z) << 1; uint z07 = z[7]; z[7] = z07 & P7; c += (z07 >> 31) - (xx07 >> 31); Nat.AddWordTo(8, c * PInv, z); if (Nat256.Gte(z, P)) { AddPInvTo(z); } }
public static void Reduce(uint[] xx, uint[] z) { Debug.Assert(xx[15] >> 30 == 0); uint xx07 = xx[7]; Nat.ShiftUpBit(8, xx, 8, xx07, z, 0); uint c = Nat256.MulByWordAddTo(PInv, xx, z) << 1; uint z7 = z[7]; c += (z7 >> 31) - (xx07 >> 31); z7 &= P7; z7 += Nat.AddWordTo(7, c * PInv, z); z[7] = z7; if (z7 >= P7 && Nat256.Gte(z, P)) { SubPFrom(z); } }