Пример #1
0
        public void TestPowersCalculation()
        {
            var powers = Enumerable.Range(0, 30)
                         .Select(i => Fr.FromInt(1 << i))
                         .ToArray();

            CollectionAssert.AreEqual(powers, MclBls12381.Powers(Fr.FromInt(2), 30));
        }
Пример #2
0
        public G1 Evaluate(int x, int y)
        {
            var result = G1.Zero;
            var powX   = MclBls12381.Powers(Fr.FromInt(x), Degree + 1);
            var powY   = MclBls12381.Powers(Fr.FromInt(y), Degree + 1);

            for (var i = 0; i <= Degree; ++i)
            {
                for (var j = 0; j <= Degree; ++j)
                {
                    result += _coefficients[Index(i, j)] * powX[i] * powY[j];
                }
            }

            return(result);
        }