1 Copyright (C) 2008 Ilari Pihlajisto (ilari.pihlajisto@mbnet.fi)
5 Perft is a debbuging function for testing the move generator
6 and move making/unmaking routines of chess engines.
7 A more detailed description: http://chessprogramming.wikispaces.com/perft
9 Unfortunately most perft utilities only support standard chess, so anyone
10 developing an engine for Chess960, Capablanca chess, Capablanca Random chess
11 or Gothic chess is pretty much out of luck when it comes to verifying their
14 OmniPerft is just like any other perft utility, with the exception that
15 it supports every 8x8 and 10x8 chess variants of any significance. The user
16 can just enter a FEN or X-FEN string for any supported variant, run perft
22 OmniPerft is free software; you can redistribute it and/or modify
23 it under the terms of the GNU General Public License as published by
24 the Free Software Foundation; either version 3 of the License, or
25 (at your option) any later version.
27 OmniPerft is distributed in the hope that it will be useful,
28 but WITHOUT ANY WARRANTY; without even the implied warranty of
29 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30 GNU General Public License for more details.
32 You should have received a copy of the GNU General Public License
33 along with this program. If not, see <http://www.gnu.org/licenses/>.
38 UNIX/Linux: Run "make" command in the source directory
39 Windows/MinGW: Run "make -f Makefile.mgw" in the source directory
40 Windows/MSVC: Run "nmake -f Makefile.win" in the source directory
42 There's no "make install", all you need is the compiled executable.
45 ASCII INTERFACE COMMANDS
47 moves Print a list of legal moves
48 perft [d] Print a perft value to depth [d]
49 divide [d] Perft to [d] with a separate count for each move
50 printboard Print an ASCII board and the FEN/X-FEN string
52 undo Reverse the last move
53 setboard [fen] Set the board according to a FEN/X-FEN string
54 [move] Make [move] on the board. Accepts SAN and Coordinate notation