Last little touches to movegen
[stockfish] / src / movegen.h
1 /*
2   Glaurung, a UCI chess playing engine.
3   Copyright (C) 2004-2008 Tord Romstad
4
5   Glaurung is free software: you can redistribute it and/or modify
6   it under the terms of the GNU General Public License as published by
7   the Free Software Foundation, either version 3 of the License, or
8   (at your option) any later version.
9   
10   Glaurung is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   GNU General Public License for more details.
14   
15   You should have received a copy of the GNU General Public License
16   along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18
19
20 #if !defined(MOVEGEN_H_INCLUDED)
21 #define MOVEGEN_H_INCLUDED
22
23 ////
24 //// Includes
25 ////
26
27 #include "position.h"
28
29
30 ////
31 //// Prototypes
32 ////
33
34 extern int generate_captures(const Position &pos, MoveStack *mlist);
35 extern int generate_noncaptures(const Position &pos, MoveStack *mlist);
36 extern int generate_checks(const Position &pos, MoveStack *mlist, Bitboard dc);
37 extern int generate_evasions(const Position &pos, MoveStack *mlist);
38 extern int generate_legal_moves(const Position &pos, MoveStack *mlist);
39 extern Move generate_move_if_legal(const Position &pos, Move m, Bitboard pinned);
40
41 #endif // !defined(MOVEGEN_H_INCLUDED)