MersenneNumberTesterTemplate made dependent on the calculation method to eliminate unnecessary branching.
This commit is contained in:
1 parent
c9a421a1b4
commit
c5c42b0c19
5 files changed
+631
-396
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 MersenneNumberTesterCpu();
|
||||
var tester = new MersenneNumberTesterForIncrementalCalculationMethodForCpu();
|
||||
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 MersenneNumberTesterCpu(useOrderCache: true, useGpuOrder: true);
|
||||
var tester = new MersenneNumberTesterForIncrementalCalculationMethodForCpu(useOrderCache: true, useGpuOrder: true);
|
||||
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 MersenneNumberTesterGpu(useOrderCache: true, useGpuOrder: true);
|
||||
var tester = new MersenneNumberTesterForIncrementalCalculationMethodForGpu(useOrderCache: true, useGpuOrder: true);
|
||||
tester.WarmUpOrders(p, 1_000UL);
|
||||
var gpu = PrimeOrderCalculatorAccelerator.Rent(1);
|
||||
try
|
||||
|
||||
@@ -10,9 +10,8 @@ public class MersenneResidueModeTests
|
||||
[Fact]
|
||||
public void IsMersennePrime_residue_mode_rejects_composite_exponent()
|
||||
{
|
||||
var tester = new MersenneNumberTesterCpu(
|
||||
useResidue: true,
|
||||
useIncremental: false,
|
||||
var tester = new MersenneNumberTesterForResidueCalculationMethodForCpu(
|
||||
|
||||
useGpuScan: false,
|
||||
useGpuOrder: false);
|
||||
var gpu = PrimeOrderCalculatorAccelerator.Rent(1);
|
||||
@@ -29,9 +28,8 @@ public class MersenneResidueModeTests
|
||||
[Fact]
|
||||
public void IsMersennePrime_residue_mode_accepts_prime_exponent()
|
||||
{
|
||||
var tester = new MersenneNumberTesterCpu(
|
||||
useResidue: true,
|
||||
useIncremental: true,
|
||||
var tester = new MersenneNumberTesterForResidueCalculationMethodForCpu(
|
||||
|
||||
useGpuScan: false,
|
||||
useGpuOrder: false,
|
||||
maxK: 1_000UL);
|
||||
|
||||
Reference in new issue
Block a user