MersenneNumberTesterTemplate extended to depend on new enums: CacheStatus & OrderDevice instead of constructor parameters to limit code branches during execution.

This commit is contained in:
mlemanczyk committed 2025-12-19 22:01:21 +01:00
1 parent c5c42b0c19
commit 9147124ddf
5 files changed
+297 -394

No files matched your search

@@ -13,7 +13,7 @@ public class MersenneNumberTesterTests
[InlineData(136_000_005UL)]
public void IsMersennePrime_detects_small_prime_divisors_for_large_exponents(ulong p)
{
var tester = new MersenneNumberTesterForIncrementalCalculationMethodForCpu();
var tester = new MersenneNumberTesterForIncrementalCalculationMethodForDisabledCacheStatusForCpuOrderDeviceForCpu();
var gpu = PrimeOrderCalculatorAccelerator.Rent(1);
try
{
@@ -29,7 +29,7 @@ public class MersenneNumberTesterTests
[InlineData(125UL)]
public void WarmUpOrdersCpu_populates_cache_without_affecting_results(ulong p)
{
var tester = new MersenneNumberTesterForIncrementalCalculationMethodForCpu(useOrderCache: true, useGpuOrder: true);
var tester = new MersenneNumberTesterForIncrementalCalculationMethodForEnabledCacheStatusForGpuOrderDeviceForCpu();
tester.WarmUpOrders(p, 1_000UL);
var gpu = PrimeOrderCalculatorAccelerator.Rent(1);
try
@@ -46,7 +46,7 @@ public class MersenneNumberTesterTests
[InlineData(125UL)]
public void WarmUpOrdersGpu_populates_cache_without_affecting_results(ulong p)
{
var tester = new MersenneNumberTesterForIncrementalCalculationMethodForGpu(useOrderCache: true, useGpuOrder: true);
var tester = new MersenneNumberTesterForIncrementalCalculationMethodForEnabledCacheStatusForGpuOrderDeviceForGpu();
tester.WarmUpOrders(p, 1_000UL);
var gpu = PrimeOrderCalculatorAccelerator.Rent(1);
try
@@ -10,10 +10,7 @@ public class MersenneResidueModeTests
[Fact]
public void IsMersennePrime_residue_mode_rejects_composite_exponent()
{
var tester = new MersenneNumberTesterForResidueCalculationMethodForCpu(
useGpuScan: false,
useGpuOrder: false);
var tester = new MersenneNumberTesterForResidueCalculationMethodForDisabledCacheStatusForCpuOrderDeviceForCpu();
var gpu = PrimeOrderCalculatorAccelerator.Rent(1);
try
{
@@ -28,10 +25,7 @@ public class MersenneResidueModeTests
[Fact]
public void IsMersennePrime_residue_mode_accepts_prime_exponent()
{
var tester = new MersenneNumberTesterForResidueCalculationMethodForCpu(
useGpuScan: false,
useGpuOrder: false,
var tester = new MersenneNumberTesterForResidueCalculationMethodForDisabledCacheStatusForCpuOrderDeviceForCpu(
maxK: 1_000UL);
var gpu = PrimeOrderCalculatorAccelerator.Rent(1);
try