Beispiel #1
0
 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);
     }
 }
Beispiel #2
0
 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);
     }
 }
Beispiel #3
0
 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);
     }
 }
Beispiel #4
0
        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);
            }
        }
Beispiel #5
0
        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);
        }