Pow2Mod kernel specific methods moved to Pow2MontgomeryKernels.

This commit is contained in:
mlemanczyk committed 2025-11-24 18:04:07 +01:00
1 parent 070e2a14fd
commit 57a50e2a37
14 files changed
+419 -402

No files matched your search

+2 -3
View File
@@ -5,11 +5,10 @@ namespace PerfectNumbers.Core;
public static partial class ULongExtensions
{
private const int Pow2WindowSize = 8;
private const ulong Pow2WindowFallbackThreshold = 32UL;
private const int Pow2WindowOddPowerCount = 1 << (Pow2WindowSize - 1);
private const int Pow2WindowOddPowerCount = 1 << (PerfectNumberConstants.Pow2WindowSize - 1);
private static readonly UInt128 Pow2WindowedModulusThreshold = (UInt128)PerfectNumberConstants.MaxQForDivisorCycles;
private static readonly UInt128 Pow2WindowedModulusThreshold = (UInt128)PerfectNumberConstants.MaxQForDivisorCycles;
private static readonly byte[] BitStatsZeroCount = new byte[256];
private static readonly byte[] BitStatsPrefixZero = new byte[256];