4 * Interface to the board evaluator.
6 * ----------------------------------------------------------------------
8 * Copyright (c) 2012 Free Software Foundation
10 * GNU SHOGI is based on GNU CHESS
12 * This file is part of GNU SHOGI.
14 * GNU Shogi is free software; you can redistribute it and/or modify it
15 * under the terms of the GNU General Public License as published by the
16 * Free Software Foundation; either version 3 of the License,
17 * or (at your option) any later version.
19 * GNU Shogi is distributed in the hope that it will be useful, but WITHOUT
20 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
24 * You should have received a copy of the GNU General Public License along
25 * with GNU Shogi; see the file COPYING. If not, see
26 * <http://www.gnu.org/licenses/>.
27 * ----------------------------------------------------------------------
36 #define NO_FEATURES 31
42 unsigned long hashkey;
45 #define MatchSignature(s) ((s.hashbd == hashbd) && (s.hashkey == hashkey))
46 #define CopySignature(s) { s.hashbd = hashbd; s.hashkey = hashkey; }
48 typedef short value_array[NO_STAGES][NO_PIECES];
49 typedef small_short fscore_array[NO_STAGES][NO_FEATURES][2];
51 extern value_array *value;
52 extern fscore_array *fscore;
54 extern void threats (short side);
56 extern long attack[2][NO_SQUARES];
57 extern small_short sseed[NO_SQUARES];
59 extern struct signature threats_signature[2];
61 extern small_short starget[2][NO_SQUARES];
62 extern small_short sloose[NO_SQUARES];
63 extern small_short shole[NO_SQUARES];
64 extern small_short shung[NO_SQUARES];
66 extern struct signature squares_signature;