Switched to GPU for prime testing

This commit is contained in:
mlemanczyk committed 2025-10-22 00:40:30 +02:00
1 parent 27739acd02
commit 865a88fac0
1 file changed
+12 -6
@@ -1069,7 +1069,8 @@ internal static partial class PrimeOrderCalculator
// continue; // continue;
// } // }
bool isPrime = PrimeTester.IsPrimeInternal(composite, CancellationToken.None); bool isPrime = PrimeTester.IsPrimeGpu(composite);
// bool isPrime = PrimeTester.IsPrimeInternal(composite, CancellationToken.None);
// bool isPrime = Open.Numeric.Primes.Prime.Numbers.IsPrime(composite); // bool isPrime = Open.Numeric.Primes.Prime.Numbers.IsPrime(composite);
if (isPrime) if (isPrime)
@@ -1130,7 +1131,8 @@ internal static partial class PrimeOrderCalculator
if (!entry.HasKnownPrimality) if (!entry.HasKnownPrimality)
{ {
bool isPrime = PrimeTester.IsPrimeInternal(composite, CancellationToken.None); bool isPrime = PrimeTester.IsPrimeGpu(composite);
// bool isPrime = PrimeTester.IsPrimeInternal(composite, CancellationToken.None);
// bool isPrime = Open.Numeric.Primes.Prime.Numbers.IsPrime(composite); // bool isPrime = Open.Numeric.Primes.Prime.Numbers.IsPrime(composite);
entry = entry.WithPrimality(isPrime); entry = entry.WithPrimality(isPrime);
pending[index] = entry; pending[index] = entry;
@@ -1160,7 +1162,8 @@ internal static partial class PrimeOrderCalculator
} }
else else
{ {
cofactorIsPrime = PrimeTester.IsPrimeInternal(cofactor, CancellationToken.None); cofactorIsPrime = PrimeTester.IsPrimeGpu(cofactor);
// cofactorIsPrime = PrimeTester.IsPrimeInternal(cofactor, CancellationToken.None);
// cofactorIsPrime = Open.Numeric.Primes.Prime.Numbers.IsPrime(cofactor); // cofactorIsPrime = Open.Numeric.Primes.Prime.Numbers.IsPrime(cofactor);
} }
@@ -1689,7 +1692,8 @@ internal static partial class PrimeOrderCalculator
return; return;
} }
bool isPrime = PrimeTester.IsPrimeInternal(value, CancellationToken.None); bool isPrime = PrimeTester.IsPrimeGpu(value);
// bool isPrime = PrimeTester.IsPrimeInternal(value, CancellationToken.None);
// bool isPrime = Open.Numeric.Primes.Prime.Numbers.IsPrime(value); // bool isPrime = Open.Numeric.Primes.Prime.Numbers.IsPrime(value);
if (!knownComposite && isPrime) if (!knownComposite && isPrime)
{ {
@@ -1700,7 +1704,8 @@ internal static partial class PrimeOrderCalculator
ulong factor = PollardRhoStrict(value); ulong factor = PollardRhoStrict(value);
ulong quotient = value / factor; ulong quotient = value / factor;
isPrime = PrimeTester.IsPrimeInternal(factor, CancellationToken.None); isPrime = PrimeTester.IsPrimeGpu(factor);
// isPrime = PrimeTester.IsPrimeInternal(factor, CancellationToken.None);
// isPrime = Open.Numeric.Primes.Prime.Numbers.IsPrime(factor); // isPrime = Open.Numeric.Primes.Prime.Numbers.IsPrime(factor);
if (isPrime) if (isPrime)
{ {
@@ -1730,7 +1735,8 @@ internal static partial class PrimeOrderCalculator
} }
else else
{ {
isPrime = PrimeTester.IsPrimeInternal(quotient, CancellationToken.None); isPrime = PrimeTester.IsPrimeGpu(quotient);
// isPrime = PrimeTester.IsPrimeInternal(quotient, CancellationToken.None);
// isPrime = Open.Numeric.Primes.Prime.Numbers.IsPrime(quotient); // isPrime = Open.Numeric.Primes.Prime.Numbers.IsPrime(quotient);
} }