Make by-divisor divisor cycle filtering optional
This commit is contained in:
1 parent
0195960b5a
commit
378d6a2fd8
2 files changed
+165
-85
No files matched your search
@@ -103,6 +103,7 @@ internal static class Program
|
||||
bool useResidue = false; // M_p test via residue divisors (replaces LL/incremental)
|
||||
bool useDivisor = false; // M_p divisibility by specific divisor
|
||||
bool useByDivisor = false; // Iterative divisor scan across primes
|
||||
bool useDivisorCycles = false;
|
||||
UInt128 divisor = UInt128.Zero;
|
||||
// Device routing
|
||||
bool useGpuCycles = true;
|
||||
@@ -184,6 +185,13 @@ internal static class Program
|
||||
{
|
||||
divisor = UInt128.Parse(arg.AsSpan(arg.IndexOf('=') + 1));
|
||||
}
|
||||
else if (arg.StartsWith("--use-divisor-cycles=", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
if (bool.TryParse(arg.AsSpan(arg.IndexOf('=') + 1), out bool parsedBool))
|
||||
{
|
||||
useDivisorCycles = parsedBool;
|
||||
}
|
||||
}
|
||||
else if (arg.StartsWith("--divisor-cycles-limit=", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
if (ulong.TryParse(arg.AsSpan(arg.IndexOf('=') + 1), out parsedLimit))
|
||||
@@ -501,6 +509,7 @@ internal static class Program
|
||||
_byDivisorTester = new MersenneNumberDivisorByDivisorGpuTester
|
||||
{
|
||||
GpuBatchSize = scanBatchSize,
|
||||
UseDivisorCycles = useDivisorCycles,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1277,6 +1286,7 @@ internal static class Program
|
||||
Console.WriteLine(" --divisor-cycles-batch-size=<value> batch size for cycles generation (default 512)");
|
||||
Console.WriteLine(" --divisor-cycles-continue continue divisor cycles generation");
|
||||
Console.WriteLine(" --divisor-cycles-limit=<value> cycle search iterations when --mersenne=divisor");
|
||||
Console.WriteLine(" --use-divisor-cycles=true|false enable divisor cycle filtering in --mersenne=bydivisor (default false)");
|
||||
|
||||
Console.WriteLine(" --use-order test primality via q order");
|
||||
Console.WriteLine(" --workaround-mod avoid '%' operator on the GPU");
|
||||
|
||||
Reference in new issue
Block a user