public static void Twice(uint[] x, uint[] z) { Nat256.ShiftUpBit(x, 0, z); if (Nat256.Gte(z, P)) { Nat256.AddWord(PInv, z, 0); z[7] &= P7; } }
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 Twice(uint[] x, uint[] z) { uint c = Nat256.ShiftUpBit(x, 0, z); if (c != 0 || (z[7] == P7 && Nat256.Gte(z, P))) { Nat256.AddDWord(PInv, z, 0); } }