From 668e161554ce645b487dd281b50d7ab0200a833a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Lema=C5=84czyk?= Date: Thu, 9 Oct 2025 04:46:01 +0200 Subject: [PATCH] Fix divisor scan session compilation issues --- .../Cpu/MersenneNumberDivisorByDivisorCpuTester.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/PerfectNumbers.Core/Cpu/MersenneNumberDivisorByDivisorCpuTester.cs b/PerfectNumbers.Core/Cpu/MersenneNumberDivisorByDivisorCpuTester.cs index 0d2c874..b1c10ff 100644 --- a/PerfectNumbers.Core/Cpu/MersenneNumberDivisorByDivisorCpuTester.cs +++ b/PerfectNumbers.Core/Cpu/MersenneNumberDivisorByDivisorCpuTester.cs @@ -391,7 +391,7 @@ public sealed class MersenneNumberDivisorByDivisorCpuTester : IMersenneNumberDiv bool exponentStepperInitialized = false; byte hitValue = 0; // Reused for every prime processed in this batch. - bool EnsureExponentStepper() + bool EnsureExponentStepperInitialized() { if (exponentStepperInitialized) { @@ -401,7 +401,6 @@ public sealed class MersenneNumberDivisorByDivisorCpuTester : IMersenneNumberDiv exponentStepper = new ExponentRemainderStepper(cachedData); if (!exponentStepper.IsValidModulus) { - hits.Clear(); return false; } @@ -418,8 +417,9 @@ public sealed class MersenneNumberDivisorByDivisorCpuTester : IMersenneNumberDiv } else { - if (!EnsureExponentStepper()) + if (!EnsureExponentStepperInitialized()) { + hits.Clear(); return; } @@ -446,8 +446,9 @@ public sealed class MersenneNumberDivisorByDivisorCpuTester : IMersenneNumberDiv continue; } - if (!EnsureExponentStepper()) + if (!EnsureExponentStepperInitialized()) { + hits.Clear(); return; } @@ -571,7 +572,8 @@ public sealed class MersenneNumberDivisorByDivisorCpuTester : IMersenneNumberDiv HasState = true, }; - ulong quotient = Math.DivRem(mersenne, divisor, out ulong remainder); + ulong quotient = mersenne / divisor; + ulong remainder = mersenne % divisor; state.Quotient = quotient; state.Remainder = remainder; ulong residue = ComputeResidueFromRemainder(remainder, divisor);