protected static void ImplSquare(uint[] x, uint[] zz)
    {
        Nat512.Square(x, zz);
        uint num = x[16];

        zz[32] = Nat.MulWordAddTo(16, num << 1, x, 0, zz, 16) + num * num;
    }
Exemplo n.º 2
0
        protected static void ImplSquare(uint[] x, uint[] zz)
        {
            Nat512.Square(x, zz);

            uint x16 = x[16];

            zz[32] = Nat.MulWordAddTo(16, x16 << 1, x, 0, zz, 16) + (x16 * x16);
        }
Exemplo n.º 3
0
        protected static void ImplMultiply(uint[] x, uint[] y, uint[] zz)
        {
            Nat512.Mul(x, y, zz);

            uint x16 = x[16], y16 = y[16];

            zz[32] = Nat.Mul31BothAdd(16, x16, y, y16, x, zz, 16) + (x16 * y16);
        }
    protected static void ImplMultiply(uint[] x, uint[] y, uint[] zz)
    {
        Nat512.Mul(x, y, zz);
        uint num  = x[16];
        uint num2 = y[16];

        zz[32] = Nat.Mul31BothAdd(16, num, y, num2, x, zz, 16) + num * num2;
    }