Revert "Merge pull request #34 from mlemanczyk/codex/fix-residue-method-iteration-issue"

This reverts commit 66ac013abc, reversing
changes made to 52a27dfe61.
This commit is contained in:
Marek Lemańczyk committed 2025-09-20 09:35:10 +02:00
1 parent 5420523a0a
commit 9a199dc258
2 files changed
+28 -50

No files matched your search

@@ -19,12 +19,5 @@ public class MersenneResidueModeTests
var tester = new MersenneNumberTester(useResidue: true, useIncremental: true, maxK: 1_000UL); var tester = new MersenneNumberTester(useResidue: true, useIncremental: true, maxK: 1_000UL);
tester.IsMersennePrime(31UL).Should().BeTrue(); tester.IsMersennePrime(31UL).Should().BeTrue();
} }
[Fact]
public void IsMersennePrime_residue_mode_accepts_prime_exponent_when_scanning_multiple_batches()
{
var tester = new MersenneNumberTester(useResidue: true, useIncremental: true, maxK: 2_100_000UL);
tester.IsMersennePrime(31UL).Should().BeTrue();
}
} }
+28 -43
View File
@@ -312,19 +312,14 @@ public ref struct GpuKernelLease(IDisposable limiter, GpuContextLease gpu, Kerne
} }
else else
{ {
ulong r3 = ra.Q0M3 + (ra.Step3 * (idx % 3UL)); ulong r3 = ra.Q0M3 + (ra.Step3 * (idx % 3UL)); r3 -= (r3 >= 3UL) ? 3UL : 0UL;
if (r3 >= 6UL) r3 -= 6UL;
if (r3 >= 3UL) r3 -= 3UL;
if (r3 == 0UL) if (r3 == 0UL)
{ {
shouldCheck = false; shouldCheck = false;
} }
else else
{ {
ulong r5 = ra.Q0M5 + (ra.Step5 * (idx % 5UL)); ulong r5 = ra.Q0M5 + (ra.Step5 * (idx % 5UL)); if (r5 >= 5UL) r5 -= 5UL;
if (r5 >= 15UL) r5 -= 15UL;
if (r5 >= 10UL) r5 -= 10UL;
if (r5 >= 5UL) r5 -= 5UL;
if (r5 == 0UL) if (r5 == 0UL)
{ {
shouldCheck = false; shouldCheck = false;
@@ -439,24 +434,19 @@ public ref struct GpuKernelLease(IDisposable limiter, GpuContextLease gpu, Kerne
} }
else else
{ {
ulong r3 = ra.Q0M3 + (ra.Step3 * (idx % 3UL)); ulong r3 = ra.Q0M3 + (ra.Step3 * (idx % 3UL)); r3 -= (r3 >= 3UL) ? 3UL : 0UL;
if (r3 >= 6UL) r3 -= 6UL; if (r3 == 0UL)
if (r3 >= 3UL) r3 -= 3UL; {
if (r3 == 0UL) shouldCheck = false;
{ }
shouldCheck = false; else
} {
else ulong r5 = ra.Q0M5 + (ra.Step5 * (idx % 5UL)); if (r5 >= 5UL) r5 -= 5UL;
{ if (r5 == 0UL)
ulong r5 = ra.Q0M5 + (ra.Step5 * (idx % 5UL)); {
if (r5 >= 15UL) r5 -= 15UL; shouldCheck = false;
if (r5 >= 10UL) r5 -= 10UL; }
if (r5 >= 5UL) r5 -= 5UL; }
if (r5 == 0UL)
{
shouldCheck = false;
}
}
} }
} }
if (!shouldCheck) if (!shouldCheck)
@@ -519,24 +509,19 @@ public ref struct GpuKernelLease(IDisposable limiter, GpuContextLease gpu, Kerne
} }
else else
{ {
ulong r3 = ra.Q0M3 + (ra.Step3 * (idx % 3UL)); ulong r3 = ra.Q0M3 + (ra.Step3 * (idx % 3UL)); r3 -= (r3 >= 3UL) ? 3UL : 0UL;
if (r3 >= 6UL) r3 -= 6UL; if (r3 == 0UL)
if (r3 >= 3UL) r3 -= 3UL; {
if (r3 == 0UL) shouldCheck = false;
{ }
shouldCheck = false; else
} {
else ulong r5 = ra.Q0M5 + (ra.Step5 * (idx % 5UL)); if (r5 >= 5UL) r5 -= 5UL;
{ if (r5 == 0UL)
ulong r5 = ra.Q0M5 + (ra.Step5 * (idx % 5UL)); {
if (r5 >= 15UL) r5 -= 15UL; shouldCheck = false;
if (r5 >= 10UL) r5 -= 10UL; }
if (r5 >= 5UL) r5 -= 5UL; }
if (r5 == 0UL)
{
shouldCheck = false;
}
}
} }
} }
if (!shouldCheck) if (!shouldCheck)