public AlgebraFiniteFieldBigInteger( BigInteger prime, int power) { if (!ToolsMathBigIntegerPrime.IsPrime(prime)) { throw new Exception("Number " + prime.ToString() + " is not prime"); } size = prime.Pow(power); }
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); }
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"); }