Small primes array type changed to uint[] to avoid excessive memory use, especially on GPU

This commit is contained in:
Marek Lemańczyk committed 2025-09-09 23:58:09 +02:00
1 parent dafdc3d6b6
commit 2be49020a9
6 files changed
+63 -90

No files matched your search

+3 -3
View File
@@ -52,8 +52,8 @@ public static class UInt128Extensions
}
ulong order = (ulong)phi;
ulong[] smallPrimes = PrimesGenerator.SmallPrimes,
smallPrimesPow2 = PrimesGenerator.SmallPrimesPow2;
uint[] smallPrimes = PrimesGenerator.SmallPrimes;
ulong[] smallPrimesPow2 = PrimesGenerator.SmallPrimesPow2;
int i = 0, primesLength = smallPrimes.Length;
UInt128 cycle = MersenneDivisorCycles.GetCycle(q);
@@ -100,7 +100,7 @@ public static class UInt128Extensions
{
UInt128 p, zero = UInt128.Zero;
ulong[] smallPrimes = PrimesGenerator.SmallPrimes;
uint[] smallPrimes = PrimesGenerator.SmallPrimes;
ulong[] smallPrimesPow2 = PrimesGenerator.SmallPrimesPow2;
ulong i, smallPrimesCount = (ulong)smallPrimes.Length;
for (i = 0UL; i < smallPrimesCount; i++)