Expand GPU coverage for even perfect candidate tests
This commit is contained in:
1 parent
b676d89293
commit
94b314df23
4 files changed
+189
No files matched your search
@@ -21,6 +21,18 @@ public class MersenneNumberResidueCpuTesterTests
|
||||
RunCase(tester, 127UL, 1_000UL, expectedPrime: true);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Category", "Fast")]
|
||||
public void Scan_recognizes_all_known_small_mersenne_primes()
|
||||
{
|
||||
var tester = new MersenneNumberResidueCpuTester();
|
||||
|
||||
foreach (ulong exponent in MersennePrimeTestData.Exponents)
|
||||
{
|
||||
RunCase(tester, exponent, 1UL, expectedPrime: true);
|
||||
}
|
||||
}
|
||||
|
||||
private static void RunCase(MersenneNumberResidueCpuTester tester, ulong exponent, ulong maxK, bool expectedPrime)
|
||||
{
|
||||
bool isPrime = true;
|
||||
|
||||
@@ -25,6 +25,20 @@ public class MersenneNumberResidueGpuTesterTests
|
||||
RunCase(tester, 127UL, 1_001UL, expectedPrime: true);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(false)]
|
||||
[InlineData(true)]
|
||||
[Trait("Category", "Fast")]
|
||||
public void Scan_recognizes_all_known_small_mersenne_primes(bool useGpuOrder)
|
||||
{
|
||||
var tester = new MersenneNumberResidueGpuTester(useGpuOrder);
|
||||
|
||||
foreach (ulong exponent in MersennePrimeTestData.Exponents)
|
||||
{
|
||||
RunCase(tester, exponent, 1UL, expectedPrime: true);
|
||||
}
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(false)]
|
||||
[InlineData(true)]
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
namespace PerfectNumbers.Core.Tests;
|
||||
|
||||
internal static class MersennePrimeTestData
|
||||
{
|
||||
public static readonly ulong[] Exponents =
|
||||
{
|
||||
31UL,
|
||||
61UL,
|
||||
89UL,
|
||||
107UL,
|
||||
127UL,
|
||||
521UL,
|
||||
607UL,
|
||||
1279UL,
|
||||
2203UL,
|
||||
2281UL,
|
||||
3217UL,
|
||||
4253UL,
|
||||
4423UL,
|
||||
9689UL,
|
||||
9941UL,
|
||||
11213UL
|
||||
};
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user