Files
even-perfect-numbers-scanner/PerfectNumbers.Core/IMersenneNumberDivisorByDivisorTester.cs
T
2025-10-17 02:40:51 +02:00

24 lines
666 B
C#

namespace PerfectNumbers.Core;
public interface IMersenneNumberDivisorByDivisorTester
{
int BatchSize { get; set; }
void ConfigureFromMaxPrime(ulong maxPrime);
ulong DivisorLimit { get; }
ulong GetAllowedMaxDivisor(ulong prime);
bool IsPrime(ulong prime, out bool divisorsExhausted);
IDivisorScanSession CreateDivisorSession();
void PrepareCandidates(in ReadOnlySpan<ulong> primes, Span<ulong> allowedMaxValues);
public interface IDivisorScanSession : IDisposable
{
void CheckDivisor(ulong divisor, in MontgomeryDivisorData divisorData, ulong divisorCycle, in ReadOnlySpan<ulong> primes, Span<byte> hits);
}
}