Fix divisor scan session compilation issues

This commit is contained in:
Marek Lemańczyk committed 2025-10-09 04:46:01 +02:00
1 parent ce4c59beaa
commit 668e161554
1 file changed
+7 -5
@@ -391,7 +391,7 @@ public sealed class MersenneNumberDivisorByDivisorCpuTester : IMersenneNumberDiv
bool exponentStepperInitialized = false; bool exponentStepperInitialized = false;
byte hitValue = 0; // Reused for every prime processed in this batch. byte hitValue = 0; // Reused for every prime processed in this batch.
bool EnsureExponentStepper() bool EnsureExponentStepperInitialized()
{ {
if (exponentStepperInitialized) if (exponentStepperInitialized)
{ {
@@ -401,7 +401,6 @@ public sealed class MersenneNumberDivisorByDivisorCpuTester : IMersenneNumberDiv
exponentStepper = new ExponentRemainderStepper(cachedData); exponentStepper = new ExponentRemainderStepper(cachedData);
if (!exponentStepper.IsValidModulus) if (!exponentStepper.IsValidModulus)
{ {
hits.Clear();
return false; return false;
} }
@@ -418,8 +417,9 @@ public sealed class MersenneNumberDivisorByDivisorCpuTester : IMersenneNumberDiv
} }
else else
{ {
if (!EnsureExponentStepper()) if (!EnsureExponentStepperInitialized())
{ {
hits.Clear();
return; return;
} }
@@ -446,8 +446,9 @@ public sealed class MersenneNumberDivisorByDivisorCpuTester : IMersenneNumberDiv
continue; continue;
} }
if (!EnsureExponentStepper()) if (!EnsureExponentStepperInitialized())
{ {
hits.Clear();
return; return;
} }
@@ -571,7 +572,8 @@ public sealed class MersenneNumberDivisorByDivisorCpuTester : IMersenneNumberDiv
HasState = true, HasState = true,
}; };
ulong quotient = Math.DivRem(mersenne, divisor, out ulong remainder); ulong quotient = mersenne / divisor;
ulong remainder = mersenne % divisor;
state.Quotient = quotient; state.Quotient = quotient;
state.Remainder = remainder; state.Remainder = remainder;
ulong residue = ComputeResidueFromRemainder(remainder, divisor); ulong residue = ComputeResidueFromRemainder(remainder, divisor);