Пример #1
0
 public AlgebraFiniteFieldBigInteger(
     BigInteger prime,
     int power)
 {
     if (!ToolsMathBigIntegerPrime.IsPrime(prime))
     {
         throw new Exception("Number " + prime.ToString() + " is not prime");
     }
     size = prime.Pow(power);
 }
Пример #2
0
 public AlgebraFiniteFieldGenericPrime(IAlgebraInteger <IntegerType> algebra, IntegerType prime)
 {
     if (!ToolsMathBigIntegerPrime.IsPrime(algebra.ToBigInteger(prime)))
     {
         throw new Exception("Number " + prime.ToString() + " is not prime");
     }
     Prime            = prime;
     Algebra          = algebra;
     ElementCount     = Algebra.ToBigInteger(prime);
     AddIdentity      = new FiniteFieldElement <IntegerType>(this, Algebra.AddIdentity);
     MultiplyIdentity = new FiniteFieldElement <IntegerType>(this, Algebra.MultiplyIdentity);
 }
Пример #3
0
        public void TestIsPrime()
        {
            Assert.IsFalse(ToolsMathBigIntegerPrime.IsPrime(4), "4 is not prime");
            Assert.IsFalse(ToolsMathBigIntegerPrime.IsPrime(8), "8 is not prime");
            Assert.IsFalse(ToolsMathBigIntegerPrime.IsPrime(9), "9 is not prime");

            Assert.IsTrue(ToolsMathBigIntegerPrime.IsPrime(2), "2 is prime");
            Assert.IsTrue(ToolsMathBigIntegerPrime.IsPrime(3), "3 is prime");
            Assert.IsTrue(ToolsMathBigIntegerPrime.IsPrime(5), "5 is prime");
            Assert.IsTrue(ToolsMathBigIntegerPrime.IsPrime(7), "7 is prime");
            Assert.IsTrue(ToolsMathBigIntegerPrime.IsPrime(11), "11 is prime");
            Assert.IsTrue(ToolsMathBigIntegerPrime.IsPrime(13), "13 is prime");
            Assert.IsTrue(ToolsMathBigIntegerPrime.IsPrime(17), "17 is prime");
            Assert.IsTrue(ToolsMathBigIntegerPrime.IsPrime(23), "23 is prime");
        }