Use bit masks for divisor heuristics
This commit is contained in:
1 parent
46a2178d65
commit
bbe0c02069
6 files changed
+83
-43
No files matched your search
@@ -8,16 +8,16 @@ internal readonly struct GpuDivisorPartialData
|
||||
public readonly ReadOnlyGpuUInt128 ModulusWide;
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
private GpuDivisorPartialData(ulong modulus, in ReadOnlyGpuUInt128 modulusWide)
|
||||
public GpuDivisorPartialData(ulong modulus)
|
||||
{
|
||||
Modulus = modulus;
|
||||
ModulusWide = new ReadOnlyGpuUInt128(modulus);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public GpuDivisorPartialData(ulong modulus, in ReadOnlyGpuUInt128 modulusWide)
|
||||
{
|
||||
Modulus = modulus;
|
||||
ModulusWide = modulusWide;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static GpuDivisorPartialData Create(ulong modulus)
|
||||
{
|
||||
ReadOnlyGpuUInt128 modulusWide = new(modulus);
|
||||
return new GpuDivisorPartialData(modulus, in modulusWide);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user