Store Pollard Rho primality on pending entries

This commit is contained in:
Marek Lemańczyk committed 2025-10-20 00:41:32 +02:00
1 parent 752c07c57e
commit d99610098a
1 file changed
+4 -3
@@ -36,7 +36,8 @@ internal static partial class PrimeOrderCalculator
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public PendingEntry WithPrimality(bool isPrime)
{
return new PendingEntry(Value, KnownComposite, true, isPrime);
bool knownComposite = KnownComposite || !isPrime;
return new PendingEntry(Value, knownComposite, true, isPrime);
}
}
@@ -857,13 +858,13 @@ internal static partial class PrimeOrderCalculator
if (currentTimestamp > deadlineTimestamp)
{
pollardRhoDeadlineReached = true;
pending.Add(new PendingEntry(composite, knownComposite: true));
pending.Add(new PendingEntry(composite, knownComposite: false).WithPrimality(false));
continue;
}
if (!TryPollardRho(composite, deadlineTimestamp, out ulong factor))
{
pending.Add(new PendingEntry(composite, knownComposite: true));
pending.Add(new PendingEntry(composite, knownComposite: false).WithPrimality(false));
continue;
}