We'll resolve the check when divisor cycle equals p. Tiny cleanup

This commit is contained in:
mlemanczyk committed 2025-10-09 00:18:48 +02:00
1 parent 79d821c475
commit 64c08f9b49
1 file changed
+15 -6
@@ -80,9 +80,9 @@ public sealed class MersenneNumberDivisorByDivisorCpuTester : IMersenneNumberDiv
return true; return true;
} }
ulong processedCount = 0UL; ulong processedCount;
ulong lastProcessed = 0UL; ulong lastProcessed;
bool processedAll = false; bool processedAll;
bool composite = CheckDivisors( bool composite = CheckDivisors(
prime, prime,
@@ -95,7 +95,7 @@ public sealed class MersenneNumberDivisorByDivisorCpuTester : IMersenneNumberDiv
{ {
lock (_sync) lock (_sync)
{ {
UpdateStatusUnsafe(lastProcessed, processedCount); UpdateStatusUnsafe(processedCount);
} }
} }
@@ -238,11 +238,20 @@ public sealed class MersenneNumberDivisorByDivisorCpuTester : IMersenneNumberDiv
} }
} }
if (divisorCycle != 0UL && CheckDivisor(prime, divisorCycle, divisorData) != 0) if (divisorCycle != 0 && divisorCycle == prime)
{ {
processedAll = true; processedAll = true;
return true; return true;
} }
else if (divisorCycle == 0)
{
Console.WriteLine($"Divisor cycle wasn't calculated for ${prime}");
}
// if (divisorCycle != 0UL && CheckDivisor(prime, divisorCycle, divisorData) != 0)
// {
// processedAll = true;
// return true;
// }
} }
divisor += step; divisor += step;
@@ -275,7 +284,7 @@ public sealed class MersenneNumberDivisorByDivisorCpuTester : IMersenneNumberDiv
return (byte)sum; return (byte)sum;
} }
private void UpdateStatusUnsafe(ulong lastProcessed, ulong processedCount) private void UpdateStatusUnsafe(ulong processedCount)
{ {
if (processedCount == 0UL) if (processedCount == 0UL)
{ {