@NoMachine1
Yes, but can you resume work or start from a specified combination from/to?
void printUsage(const char* programName) {
cout << "Usage: " << programName << " [options]\n";
cout << "Options:\n";
cout << " -p, --puzzle NUM Puzzle number to solve (default: 20)\n";
cout << " -t, --threads NUM Number of CPU cores to use (default: all)\n";
cout << " -f, --flips NUM Override default flip count for puzzle\n";
cout << " -s, --start NUM Starting combination index (default: 0)\n";
cout << " -e, --end NUM Ending combination index (default: total combinations)\n";
cout << " -l, --logfile FILE Path to progress log file\n";
cout << " -h, --help Show this help message\n";
cout << "\nExample:\n";
cout << " " << programName << " -p 38 -t 8 -f 21 -s 1000000000 -e 2000000000 -l progress.log\n";
This should be able to handle big ranges
./mutagen2 -p 68 -t 8 -f 37 -s 21912870037000995008 -e 21912870037044995008 -l progress.log