- if (argc < 2)
- {
- cout << engine_name() << " by " << engine_authors() << endl;
-
- if (CpuHasPOPCNT)
- cout << "Good! CPU has hardware POPCNT." << endl;
-
- uci_loop(); // Enter the UCI loop and wait for user input
- }
- else if (string(argv[1]) == "bench")
- benchmark(argc, argv);
+ CommandLine::init(argc, argv);
+ UCI::init(Options);
+ Tune::init();
+ PSQT::init();
+ Bitboards::init();
+ Position::init();
+ Bitbases::init();
+ Endgames::init();
+ Threads.set(size_t(Options["Threads"]));
+ Search::clear(); // After threads are up
+ Eval::NNUE::init();