diff --git a/EvenPerfectBitScanner.Benchmarks/Pow2MontgomeryModCycleComputationBenchmarks.cs b/EvenPerfectBitScanner.Benchmarks/Pow2MontgomeryModCycleComputationBenchmarks.cs index 6e548fd..682f22e 100644 --- a/EvenPerfectBitScanner.Benchmarks/Pow2MontgomeryModCycleComputationBenchmarks.cs +++ b/EvenPerfectBitScanner.Benchmarks/Pow2MontgomeryModCycleComputationBenchmarks.cs @@ -283,7 +283,8 @@ public class Pow2MontgomeryModCycleComputationBenchmarks modulus, _previousPrimeOrder, divisorData, - PrimeOrderCalculator.PrimeOrderSearchConfig.HeuristicDefault); + PrimeOrderCalculator.PrimeOrderSearchConfig.HeuristicDefault, + PrimeOrderCalculator.PrimeOrderHeuristicDevice.Gpu); if (order != 0UL) { diff --git a/PerfectNumbers.Core.Tests/Gpu/PrimeOrderGpuHeuristicsTests.cs b/PerfectNumbers.Core.Tests/Gpu/PrimeOrderGpuHeuristicsTests.cs index f0c6c8b..c381c39 100644 --- a/PerfectNumbers.Core.Tests/Gpu/PrimeOrderGpuHeuristicsTests.cs +++ b/PerfectNumbers.Core.Tests/Gpu/PrimeOrderGpuHeuristicsTests.cs @@ -359,7 +359,7 @@ public class PrimeOrderGpuHeuristicsTests PrimeOrderGpuHeuristics.OverflowRegistry[prime] = 0; MontgomeryDivisorData divisorData = MontgomeryDivisorData.FromModulus(prime); - ulong result = PrimeOrderCalculator.Calculate(prime, null, divisorData, PrimeOrderCalculator.PrimeOrderSearchConfig.HeuristicDefault); + ulong result = PrimeOrderCalculator.Calculate(prime, null, divisorData, PrimeOrderCalculator.PrimeOrderSearchConfig.HeuristicDefault, PrimeOrderCalculator.PrimeOrderHeuristicDevice.Gpu); result.Should().Be(3UL); } diff --git a/PerfectNumbers.Core.Tests/PrimeOrderCalculatorTests.cs b/PerfectNumbers.Core.Tests/PrimeOrderCalculatorTests.cs index 784fca5..bea113b 100644 --- a/PerfectNumbers.Core.Tests/PrimeOrderCalculatorTests.cs +++ b/PerfectNumbers.Core.Tests/PrimeOrderCalculatorTests.cs @@ -49,7 +49,8 @@ public class PrimeOrderCalculatorTests prime, previousOrder: null, MontgomeryDivisorData.FromModulus(prime), - PrimeOrderCalculator.PrimeOrderSearchConfig.HeuristicDefault); + PrimeOrderCalculator.PrimeOrderSearchConfig.HeuristicDefault, + PrimeOrderCalculator.PrimeOrderHeuristicDevice.Gpu); result.Should().Be(expected); } @@ -65,13 +66,15 @@ public class PrimeOrderCalculatorTests prime, previousOrder, MontgomeryDivisorData.FromModulus(prime), - PrimeOrderCalculator.PrimeOrderSearchConfig.HeuristicDefault); + PrimeOrderCalculator.PrimeOrderSearchConfig.HeuristicDefault, + PrimeOrderCalculator.PrimeOrderHeuristicDevice.Gpu); ulong strict = PrimeOrderCalculator.Calculate( prime, previousOrder: null, MontgomeryDivisorData.FromModulus(prime), - PrimeOrderCalculator.PrimeOrderSearchConfig.StrictDefault); + PrimeOrderCalculator.PrimeOrderSearchConfig.StrictDefault, + PrimeOrderCalculator.PrimeOrderHeuristicDevice.Gpu); heuristic.Should().Be(strict); } @@ -86,7 +89,8 @@ public class PrimeOrderCalculatorTests prime, previousOrder: null, MontgomeryDivisorData.FromModulus(prime), - PrimeOrderCalculator.PrimeOrderSearchConfig.HeuristicDefault); + PrimeOrderCalculator.PrimeOrderSearchConfig.HeuristicDefault, + PrimeOrderCalculator.PrimeOrderHeuristicDevice.Gpu); result.Should().Be(expectedOrder); } @@ -105,7 +109,8 @@ public class PrimeOrderCalculatorTests prime: 13UL, previousOrder: null, MontgomeryDivisorData.FromModulus(13UL), - config); + config, + PrimeOrderCalculator.PrimeOrderHeuristicDevice.Gpu); result.Should().Be(ComputeOrderByDoubling(13UL)); } @@ -125,7 +130,8 @@ public class PrimeOrderCalculatorTests prime: 239UL, previousOrder: null, divisorData, - heuristicConfig); + heuristicConfig, + PrimeOrderCalculator.PrimeOrderHeuristicDevice.Gpu); heuristic.Should().Be(ComputeOrderByDoubling(239UL)); @@ -139,7 +145,8 @@ public class PrimeOrderCalculatorTests prime: 239UL, previousOrder: null, divisorData, - strictConfig); + strictConfig, + PrimeOrderCalculator.PrimeOrderHeuristicDevice.Gpu); strict.Should().Be(heuristic); }