Further cleanup evaluate()
[glaurung_clone.git] / src / psqtab.h
blob0607c2d33796dfc3c2ea3896b6a7c9237af063fc
1 /*
2 Glaurung, a UCI chess playing engine.
3 Copyright (C) 2004-2008 Tord Romstad
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.
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.
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/>.
20 #if !defined(PSQTAB_H_INCLUDED)
21 #define PSQTAB_H_INCLUDED
23 ////
24 //// Includes
25 ////
27 #include "position.h"
30 ////
31 //// Variables
32 ////
34 static const int MgPST[][64] = {
35 { },
36 { // Pawn
37 0, 0, 0, 0, 0, 0, 0, 0,
38 166, 192, 204, 216, 216, 204, 192, 166,
39 166, 192, 210, 242, 242, 210, 192, 166,
40 166, 192, 220, 268, 268, 220, 192, 166,
41 166, 192, 220, 242, 242, 220, 192, 166,
42 166, 192, 210, 216, 216, 210, 192, 166,
43 166, 192, 204, 216, 216, 204, 192, 166,
44 0, 0, 0, 0, 0, 0, 0, 0
45 },
46 { // Knight
47 704, 730, 756, 768, 768, 756, 730, 704,
48 743, 768, 794, 807, 807, 794, 768, 743,
49 781, 807, 832, 844, 844, 832, 807, 781,
50 807, 832, 857, 870, 870, 857, 832, 807,
51 820, 844, 870, 883, 883, 870, 844, 820,
52 820, 844, 870, 883, 883, 870, 844, 820,
53 781, 807, 832, 844, 844, 832, 807, 781,
54 650, 768, 794, 807, 807, 794, 768, 650
55 },
56 { // Bishop
57 786, 786, 792, 797, 797, 792, 786, 786,
58 812, 832, 827, 832, 832, 827, 832, 812,
59 817, 827, 842, 837, 837, 842, 827, 817,
60 822, 832, 837, 852, 852, 837, 832, 822,
61 822, 832, 837, 852, 852, 837, 832, 822,
62 817, 827, 842, 837, 837, 842, 827, 817,
63 812, 832, 827, 832, 832, 827, 832, 812,
64 812, 812, 817, 822, 822, 817, 812, 812
65 },
66 { // Rook
67 1267, 1275, 1282, 1289, 1289, 1282, 1275, 1267,
68 1267, 1275, 1282, 1289, 1289, 1282, 1275, 1267,
69 1267, 1275, 1282, 1289, 1289, 1282, 1275, 1267,
70 1267, 1275, 1282, 1289, 1289, 1282, 1275, 1267,
71 1267, 1275, 1282, 1289, 1289, 1282, 1275, 1267,
72 1267, 1275, 1282, 1289, 1289, 1282, 1275, 1267,
73 1267, 1275, 1282, 1289, 1289, 1282, 1275, 1267,
74 1267, 1275, 1282, 1289, 1289, 1282, 1275, 1267
75 },
76 { // Queen
77 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560,
78 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560,
79 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560,
80 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560,
81 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560,
82 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560,
83 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560,
84 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560
85 },
86 { // King
87 302, 328, 276, 225, 225, 276, 328, 302,
88 276, 302, 251, 200, 200, 251, 302, 276,
89 225, 251, 200, 149, 149, 200, 251, 225,
90 200, 225, 175, 124, 124, 175, 225, 200,
91 175, 200, 149, 98, 98, 149, 200, 175,
92 149, 175, 124, 72, 72, 124, 175, 149,
93 124, 149, 98, 47, 47, 98, 149, 124,
94 98, 124, 72, 21, 21, 72, 124, 98,
99 static const int EgPST[][64] = {
100 { },
101 { // Pawn
102 0, 0, 0, 0, 0, 0, 0, 0,
103 256, 256, 256, 256, 256, 256, 256, 256,
104 256, 256, 256, 256, 256, 256, 256, 256,
105 256, 256, 256, 256, 256, 256, 256, 256,
106 256, 256, 256, 256, 256, 256, 256, 256,
107 256, 256, 256, 256, 256, 256, 256, 256,
108 256, 256, 256, 256, 256, 256, 256, 256,
109 0, 0, 0, 0, 0, 0, 0, 0
111 { // Knight
112 730, 756, 781, 794, 794, 781, 756, 730,
113 756, 781, 807, 820, 820, 807, 781, 756,
114 781, 807, 832, 844, 844, 832, 807, 781,
115 794, 820, 844, 857, 857, 844, 820, 794,
116 794, 820, 844, 857, 857, 844, 820, 794,
117 781, 807, 832, 844, 844, 832, 807, 781,
118 756, 781, 807, 820, 820, 807, 781, 756,
119 730, 756, 781, 794, 794, 781, 756, 730
121 { // Bishop
122 786, 802, 809, 817, 817, 809, 802, 786,
123 802, 817, 825, 832, 832, 825, 817, 802,
124 809, 825, 832, 839, 839, 832, 825, 809,
125 817, 832, 839, 847, 847, 839, 832, 817,
126 817, 832, 839, 847, 847, 839, 832, 817,
127 809, 825, 832, 839, 839, 832, 825, 809,
128 802, 817, 825, 832, 832, 825, 817, 802,
129 786, 802, 809, 817, 817, 809, 802, 786
131 { // Rook
132 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
133 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
134 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
135 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
136 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
137 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
138 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
139 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282
141 { // Queen
142 2499, 2520, 2530, 2540, 2540, 2530, 2520, 2499,
143 2520, 2540, 2550, 2560, 2560, 2550, 2540, 2520,
144 2530, 2550, 2560, 2570, 2570, 2560, 2550, 2530,
145 2540, 2560, 2570, 2580, 2580, 2570, 2560, 2540,
146 2540, 2560, 2570, 2580, 2580, 2570, 2560, 2540,
147 2530, 2550, 2560, 2570, 2570, 2560, 2550, 2530,
148 2520, 2540, 2550, 2560, 2560, 2550, 2540, 2520,
149 2499, 2520, 2530, 2540, 2540, 2530, 2520, 2499
151 { // King
152 16, 78, 108, 139, 139, 108, 78, 16,
153 78, 139, 170, 200, 200, 170, 139, 78,
154 108, 170, 200, 230, 230, 200, 170, 108,
155 139, 200, 230, 261, 261, 230, 200, 139,
156 139, 200, 230, 261, 261, 230, 200, 139,
157 108, 170, 200, 230, 230, 200, 170, 108,
158 78, 139, 170, 200, 200, 170, 139, 78,
159 16, 78, 108, 139, 139, 108, 78, 16
164 #endif // !defined(PSQTAB_H_INCLUDED)