- if (string(argv[1]) != "bench" || argc < 4 || argc > 8)
- cout << "Usage: stockfish bench <hash size> <threads> "
- << "[time = 60s] [fen positions file = default] "
- << "[time, depth, perft or node limited = time] "
- << "[timing file name = none]" << endl;
- else
- {
- string time = argc > 4 ? argv[4] : "60";
- string fen = argc > 5 ? argv[5] : "default";
- string lim = argc > 6 ? argv[6] : "time";
- string tim = argc > 7 ? argv[7] : "";
- benchmark(string(argv[2]) + " " + string(argv[3]) + " " + time + " " + fen + " " + lim + " " + tim);
- }
- return 0;
- }
+ // Print copyright notice
+ cout << engine_name() << " by " << engine_author() << endl;
+
+ if (CpuHasPOPCNT)
+ cout << "Good! CPU has hardware POPCNT." << endl;
+
+ // Wait for a command from the user, and passes this command to
+ // execute_uci_command() and also intercepts EOF from stdin, by
+ // translating EOF to the "quit" command. This ensures that we
+ // exit gracefully if the GUI dies unexpectedly.
+ string cmd;