Merge pull request #53 from mlemanczyk/codex/add-mod3,-mod5,-mod7,-mod8,-mod10-methods

Add optimized modulo helpers and update GPU residue steps
This commit is contained in:
Marek Lemańczyk authored and GitHub committed 2025-09-21 10:14:40 +02:00
commit b8b34766ae
7 files changed
+425 -84

No files matched your search

@@ -24,10 +24,7 @@ public class MersenneNumberResidueGpuTester(bool useGpuOrder)
UInt128 kStart = 1UL;
byte last = lastIsSeven ? (byte)1 : (byte)0;
var kernel = gpuLease.Pow2ModKernel;
ulong step10 = (exponent.Mod10() << 1).Mod10();
ulong step8 = ((exponent & 7UL) << 1) & 7UL;
ulong step3 = ((exponent % 3UL) << 1) % 3UL;
ulong step5 = ((exponent % 5UL) << 1) % 5UL;
exponent.Mod10_8_5_3Steps(out ulong step10, out ulong step8, out ulong step5, out ulong step3);
GpuUInt128 twoPGpu = (GpuUInt128)twoP;
var orderBuffer = accelerator.Allocate1D<ulong>(batchSize);