1/*
2 Stockfish, a UCI chess playing engine derived from Glaurung 2.1
3 Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
4 Copyright (C) 2008-2015 Marco Costalba, Joona Kiiski, Tord Romstad
5 Copyright (C) 2015-2019 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad
6
7 Stockfish is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 Stockfish is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#include <iostream>
22
23#include "bitboard.h"
24#include "position.h"
25#include "search.h"
26#include "thread.h"
27#include "tt.h"
28#include "uci.h"
29#include "endgame.h"
30#include "syzygy/tbprobe.h"
31
32namespace PSQT {
33 void init();
34}
35
36int main(int argc, char* argv[]) {
37
38 std::cout << engine_info() << std::endl;
39
40 UCI::init(Options);
41 PSQT::init();
42 Bitboards::init();
43 Position::init();
44 Bitbases::init();
45 Endgames::init();
46 Search::init();
47 Threads.set(Options["Threads"]);
48 Search::clear(); // After threads are up
49
50 UCI::loop(argc, argv);
51
52 Threads.set(0);
53 return 0;
54}
55