Ejemplo n.º 1
0
 public void TestMul11()
 {
     foreach (var row in Mul11TestCases)
     {
         var c = GF127.Mul11(row[0]);
         Assert.AreEqual(row[1], c);
     }
 }
Ejemplo n.º 2
0
        public void TestAdd()
        {
            var a        = GF127.Random();
            var b        = GF127.Random();
            var expected = new GF127(a[0] ^ b[0], a[1] ^ b[1]);
            var c        = a + b;

            Assert.AreEqual(expected, c);
        }
Ejemplo n.º 3
0
        private SL2 Random()
        {
            var r = new SL2();

            r[0][0] = GF127.Random();
            r[0][1] = GF127.Random();
            r[1][0] = GF127.Random();
            // d = a^-1 * (1 + b*c)
            r[1][1] = GF127.Inv(r[0][0]) * (r[0][1] * r[1][0] + new GF127(1, 0));
            return(r);
        }
Ejemplo n.º 4
0
        public void TestInv()
        {
            foreach (var row in InvTestCases)
            {
                var c = GF127.Inv(row[0]);
                Assert.AreEqual(row[1], c);
            }

            for (int i = 0; i < 4; i++)
            {
                var a = GF127.Random();
                if (a.Equals(GF127.Zero))
                {
                    continue;
                }
                var b = GF127.Inv(a);
                var c = a * b;
                Assert.AreEqual(new GF127(1, 0), c);
            }
        }