Statify genmove.c::DropPossible and ::LinkMove.
[gnushogi.git] / gnushogi / opts.h
blob546da1c40033f869e714ab2bae108f8e659664ee
1 /*
2 * FILE: opts.h
4 * #defines to set various options.
6 * ----------------------------------------------------------------------
7 * Copyright (c) 1993, 1994, 1995 Matthias Mutz
8 * Copyright (c) 1999 Michael Vanier and the Free Software Foundation
9 * Copyright (c) 2008, 2013, 2014 Yann Dirson and the Free Software Foundation
11 * GNU SHOGI is based on GNU CHESS
13 * Copyright (c) 1988, 1989, 1990 John Stanback
14 * Copyright (c) 1992 Free Software Foundation
16 * This file is part of GNU SHOGI.
18 * GNU Shogi is free software; you can redistribute it and/or modify it
19 * under the terms of the GNU General Public License as published by the
20 * Free Software Foundation; either version 3 of the License,
21 * or (at your option) any later version.
23 * GNU Shogi is distributed in the hope that it will be useful, but WITHOUT
24 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
25 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
26 * for more details.
28 * You should have received a copy of the GNU General Public License along
29 * with GNU Shogi; see the file COPYING. If not, see
30 * <http://www.gnu.org/licenses/>.
31 * ----------------------------------------------------------------------
37 * This file is for options that control the behavior of GNU shogi,
38 * probably only be of interest to people who are hacking the source codes.
39 * They were previously placed on the
40 * command line as -D<option> statements, but this cluttered things
41 * up so much that I changed it. For the evaluator options, I recommend
42 * you don't change anything unless you *really* know what you're doing.
43 * These options come in pairs of:
45 * #define <option>
46 * #undef <option>
48 * For each pair, simply comment out the one you don't want.
53 #ifndef _OPTS_H_
54 #define _OPTS_H_
57 * ======================================================================
59 * 1) Evaluator options.
61 * ======================================================================
65 * QUIETBACKGROUND:
66 * Don't print post information in background (easy mode OFF)
69 /* #define QUIETBACKGROUND */
70 #undef QUIETBACKGROUND
74 * NODYNALPHA:
75 * Don't dynamically adjust alpha.
78 /* #define NODYNALPHA */
79 #undef NODYNALPHA
83 * HISTORY:
84 * Use history killer heuristic.
87 #define HISTORY
88 /* #undef HISTORY */
92 * CACHE:
93 * Cache static evaluations.
96 #define CACHE
97 /* #undef CACHE */
101 * QUIETBOOKGEN:
102 * Don't print errors while loading a book or generating a binbook.
105 /* #define QUIETBOOKGEN */
106 #undef QUIETBOOKGEN
110 * SEMIQUIETBOOKGEN:
111 * Print less verbose errors while reading book or generating binbook.
114 /* #define SEMIQUIETBOOKGEN */
115 #undef SEMIQUIETBOOKGEN
119 * NULLMOVE:
120 * Include null move heuristic.
123 #define NULLMOVE
124 /* #undef NULLMOVE */
128 * Options for genmove.c in order to support move ordering at a
129 * cost in speed.
133 * TESUJIBONUS:
134 * Add bonus to a move that seems to be a tesuji.
137 #define TESUJIBONUS
138 /* #undef TESUJIBONUS */
142 * FIELDBONUS:
143 * Add bonus to regular moves.
146 #define FIELDBONUS
147 /* #undef FIELDBONUS */
151 * DROPBONUS:
152 * Add bonus to drops.
155 #define DROPBONUS
156 /* #undef DROPBONUS */
160 * CHECKBONUS:
161 * Add bonus to checks.
164 #define CHECKBONUS
165 /* #undef CHECKBONUS */
169 * DEEPSEARCHCUT:
170 * Check for moves not to consider at deep plys.
173 #define DEEPSEARCHCUT
174 /* #undef DEEPSEARCHCUT */
179 * ======================================================================
181 * 2) Debug options. We don't put a #define/#undef pair here, since
182 * usually only one or a few of these will be defined.
184 * ======================================================================
188 /* FIXME: write comments for these: */
189 #undef HASHKEYTEST
190 #undef HASHTEST
191 #undef CACHETEST
193 /* This is used in rawdsp.c and cursesdsp.c: */
194 #define VERYBUGGY
196 /* This affects the history table. See gnushogi.h. */
197 #define EXACTHISTORY
201 * ======================================================================
203 * 3) Other options.
205 * ======================================================================
209 * Define this if you want to automatically have the game saved on exit.
210 * This tends to litter whatever directory you're in with game files you
211 * may not want, so it's off by default.
214 #undef LIST_ON_EXIT
216 #endif /* _OPTS_H_ */