From bead40713c6d1e25652598bd770c4f65066587b3 Mon Sep 17 00:00:00 2001 From: mlemanczyk Date: Tue, 28 Oct 2025 20:49:11 +0100 Subject: [PATCH] Switching .IsPrime check to CPU for much higher performance. --- PerfectNumbers.Core/MersenneDivisorCycles.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PerfectNumbers.Core/MersenneDivisorCycles.cs b/PerfectNumbers.Core/MersenneDivisorCycles.cs index bfcd972..afa8d70 100644 --- a/PerfectNumbers.Core/MersenneDivisorCycles.cs +++ b/PerfectNumbers.Core/MersenneDivisorCycles.cs @@ -411,7 +411,7 @@ public class MersenneDivisorCycles // Atomic.Add(ref _tryFactorIntoCountsInternalHits, 1UL); // Console.WriteLine($"MersenneDivisorCycles.TryFactorIntoCountsInternal hits {Volatile.Read(ref _tryFactorIntoCountsInternalHits)}"); - if (PrimeTester.IsPrimeGpu(remaining)) + if (PrimeTester.IsPrimeCpu(remaining, CancellationToken.None)) // if (PrimeTester.IsPrimeCpu(remaining, CancellationToken.None)) { AddFactor(counts, remaining); @@ -937,7 +937,7 @@ public class MersenneDivisorCycles // } // if (!skipPrimeOrderHeuristic && HeuristicPrimeTester.Exclusive.IsPrimeCpu(divisor, CancellationToken.None)) - if (!skipPrimeOrderHeuristic && PrimeTester.IsPrimeGpu(divisor)) + if (!skipPrimeOrderHeuristic && PrimeTester.IsPrimeCpu(divisor, CancellationToken.None)) // if (!skipPrimeOrderHeuristic && PrimeTester.IsPrimeCpu(divisor, CancellationToken.None)) { ulong computedOrder = PrimeOrderCalculator.Calculate(