-
Notifications
You must be signed in to change notification settings - Fork 0
/
PArray.inc
308 lines (299 loc) · 24.1 KB
/
PArray.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
/*
Myrddin XBoard / WinBoard compatible chess engine written in C
Copyright(C) 2023 John Merlino
This program is free software : you can redistribute it and /or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program.If not, see < https://www.gnu.org/licenses/>.
*/
static PosSignature aPArray[12][64] = // one entry for each possible piece on each possible square
{
{
0x914F40E90F970D7DULL, 0x0BF6F15D4B37B83DULL, 0xE2C783969066CA75ULL, 0xB7C524B37A136D99ULL,
0x36D0E3CD399F1BF5ULL, 0xDD0E34D70276D000ULL, 0x249D50EE57B38EE9ULL, 0x2801F1D41C37F126ULL,
0x3096BB82A6834AF8ULL, 0xC0A230DC5DC15E62ULL, 0x60FED3391DCA08BFULL, 0x88BA47358FD34C23ULL,
0x9946DE7391D7CDE5ULL, 0x7149E70AA64C23EEULL, 0xF78C94CFEEE605D8ULL, 0xCDF1B71C4117C515ULL,
0xA593DE80A1CA2C38ULL, 0xF4EB11D9B37FC2D2ULL, 0x6B8FCFF60B078392ULL, 0x21CA3EBEA22A7A32ULL,
0x0B0EBDA5BE948C5AULL, 0x52E771E61CDA7802ULL, 0x6E1A94BAC236F15FULL, 0xE7DBB069B4382054ULL,
0x3D845F9EE5B9C4DCULL, 0xA00CC8E6EA8C6325ULL, 0x93793B6A4212AE59ULL, 0xEBC0764F8D9EE1B4ULL,
0x7589B25708BC3CB2ULL, 0x7D9E9EBAD6314839ULL, 0x054B4C212A5A0A1FULL, 0x72DDF5F66706F4E3ULL,
0x6C74867573B258DDULL, 0x6E298E029E6C927EULL, 0xFB7ACC5EBEDBC2DCULL, 0x4FBBB5A830EBC31FULL,
0xD30EE1BB82D09684ULL, 0xFC280AC36CAF4DA8ULL, 0x2B66A22F83CCE01DULL, 0x1200DA2E6958617FULL,
0x07D007189793416FULL, 0x29FF12F7EA6D4ACDULL, 0xEE2FACB2BEEA1CC3ULL, 0x1A5669EBC9287A96ULL,
0x517F5FC25E1EA773ULL, 0xF97D90E2F905C7C0ULL, 0x0647AE251F9F9142ULL, 0x2E21D5161F60D29EULL,
0x1C1EFC32205200D5ULL, 0x36DC4B5D5E9D794EULL, 0xA96FF2198B8E1AC6ULL, 0x7699243BC80A0E16ULL,
0x974F29565DD1C1ACULL, 0x377F105193BB17EFULL, 0x19C192CC16D9EA3FULL, 0xD155A333160A5DDEULL,
0x2DA3087967379A3CULL, 0x3D28C0C0D9E53CC8ULL, 0x3BBFD305519DA2F2ULL, 0x87A61CDD35A75EBEULL,
0x45B73D0D27D8871BULL, 0xEF3222092096865AULL, 0xD0B29757FF034EBEULL, 0x6D30394444F63534ULL,
},
{
0x2C794C664BD46B7CULL, 0x1A63788B06714A08ULL, 0x953A2A6E207DDBB1ULL, 0xE5B1A3F279982F8FULL,
0x9F1F1D10F60431EAULL, 0x118306E19885FE2AULL, 0xC78B2618721B291FULL, 0x96F10E199536C5F4ULL,
0xFF9DA307888DACB9ULL, 0x21A4880EA572E0C3ULL, 0xC3DDBE1CDE7CF4ACULL, 0x59F4AC7224C47B86ULL,
0x6B691978878AD232ULL, 0xF2236974170ACB64ULL, 0x2886C1F2E15E2E9CULL, 0xB796EF7337785E9BULL,
0xB8D20E7D82A0CC70ULL, 0xCD69464FCAB06CE3ULL, 0x56805ABB1B3A5FB2ULL, 0xBB203EB36D5E6713ULL,
0x768687B957F10F4AULL, 0xA92C1F852A4DB71FULL, 0x0BE93E1E0943B796ULL, 0x3EC5D64DCF1D6E17ULL,
0x327FD7F280EE9EE1ULL, 0x81EE871647770AFCULL, 0x196ABD1D35149790ULL, 0xE81077E1219E6998ULL,
0x7CCED52E74396E64ULL, 0x9CF07BDF191E51A2ULL, 0xF75813ADC7403D69ULL, 0x7E906A0453544827ULL,
0xF872414A8319A43BULL, 0xD91E4F1E17C61A6EULL, 0x4C9769DD5B345BC7ULL, 0x77238E91EB8FA18FULL,
0x81F79B3623B661AAULL, 0x14E2820C23E405B7ULL, 0x7D139F163FBE512EULL, 0x333CC75D26F22AE6ULL,
0x79847C4BFA0A713EULL, 0xC1A7C27343F52752ULL, 0xA1C3F76440A3DA72ULL, 0x0AA81EF717959BD7ULL,
0xC5D2188E630356C6ULL, 0x756E851FABAFF4BEULL, 0xF66982C9BC0A077FULL, 0x44424327861EC273ULL,
0x0D03AE8564C7711FULL, 0xCA8C4686E84AD48BULL, 0x1283A8C160078C1AULL, 0x6D4A47799F5D641AULL,
0x5816F5A1A5B4EC6FULL, 0x2273DE094F9354F4ULL, 0x1E8B0137B02352B8ULL, 0xC8CF56F0628782B5ULL,
0x392DFCB9278F8D67ULL, 0x3C98DC7D0AA319EEULL, 0x75421CF6FF16DADEULL, 0x85727EA4AF0154DEULL,
0x5352DC3D4C87EB25ULL, 0x807DC6E8AFC126DFULL, 0xC17D92BD3A37BADEULL, 0x984C7ECE60AC1B1BULL,
},
{
0x3527E38669D1819FULL, 0x5E7EE456F5CFA769ULL, 0x2C9E52824D4D9CADULL, 0xD869D4EDD202C95FULL,
0x43097A50BBAAFC16ULL, 0xB2502C8103CB7851ULL, 0xEEDA8A349FE592BDULL, 0x5A590A323B6E2F31ULL,
0x40EA13F9253B5C3BULL, 0xBCBE8CF050F55E13ULL, 0x54E188D4BEDC1AE8ULL, 0x9E2F789A9F35E78FULL,
0xB2B655F459AEE889ULL, 0xD7AFBE52FBD84F2AULL, 0xD38CB508A63E942BULL, 0xFD606ADD40FEBA83ULL,
0x20393BF53C169C49ULL, 0x9C6D4304783ADE33ULL, 0x0D6E7A47F831E136ULL, 0xFCB011DBEBE4744DULL,
0x5AA35CFBC7A8044CULL, 0x65B48742DD8CEBCAULL, 0xFD4F96EE5557D6B9ULL, 0x77C2297AF7016DD3ULL,
0x2FBBDE9BC4436DB4ULL, 0x0627A5F9F25757EEULL, 0x23700B2619379A21ULL, 0x28A20F064E1304F0ULL,
0x6B967889F9E9698CULL, 0x896EC831ECACDEC5ULL, 0x71F2635D6B8AD481ULL, 0xCBFACC248328B89AULL,
0xF17EB1C71A146E82ULL, 0x71E68B66313FB858ULL, 0x309AADCA112FEB60ULL, 0xEA5B05FC630F9DECULL,
0xD624FBD07F427A9EULL, 0x4082CBD17A2205A3ULL, 0xACB1B6B2C0DDCE23ULL, 0xC601E95E4CEC9D7EULL,
0x0112579F8C3A733BULL, 0xEB60FFD34ED8256CULL, 0x9368ECF2513C3DCCULL, 0x627E78F5FAA84C98ULL,
0xE7A94231F72A8206ULL, 0x1762D013DCB24D85ULL, 0xE46B43F8B5A75ACAULL, 0xCFA4FDABEE40A5D1ULL,
0x305FF9C95A037035ULL, 0x6A4E295FA735EC1AULL, 0x1233592CC3E04ED8ULL, 0x8317ECED671F427CULL,
0x2E1C87A9238C08BBULL, 0xED835A2D0E6D366AULL, 0x5D9A4B17571F1BC7ULL, 0x5A60B382368927C9ULL,
0xA75C3DCA34156189ULL, 0x34586E63300745DEULL, 0x8CC639EF9ADA8FCAULL, 0xAA3B6D59BE9B167EULL,
0x7DAA8DADF03E407AULL, 0x8F13B5F5EAC3B9A4ULL, 0xB6876069BEFF0FEFULL, 0xBD5B7999D267B8F4ULL,
},
{
0x5763CCF7EB5C4353ULL, 0x8F3CC503D89E8D92ULL, 0xC1848F73622C614FULL, 0x3093A35508174561ULL,
0xC7FA6A9A8A33C016ULL, 0x5D56D2B6A00B8678ULL, 0xDF37D298BC79BBEAULL, 0x62FBDAE6515E5257ULL,
0xFFE4CDE847384384ULL, 0xDE5CEB8417AC19D0ULL, 0xBB74C87C2FF685ECULL, 0xA1813BBCCD033981ULL,
0x921DCE999B918A6DULL, 0x701D6B7751FE31F8ULL, 0x603CC096279513D3ULL, 0xFCE81410D84BAE4FULL,
0x3D6B56D241176AB5ULL, 0x5ED9331104B55FD8ULL, 0x1A168A0964FD282FULL, 0x7BF0EC29378E7EA6ULL,
0x5FF62733A637F0B4ULL, 0x28F0879FD668837FULL, 0xBEA5E01A0F1470A4ULL, 0x78E598FE3AF79EBCULL,
0xBC811D49679677CDULL, 0xDFA1170F76944FE2ULL, 0x117C9CA5B6497AC8ULL, 0x81D7F51C7BABA6C1ULL,
0xCB8C8D40EC8CF84FULL, 0x2D9E421E90BF3BE3ULL, 0x173509E58B8D1A5AULL, 0xCE4C40E7D0DD3699ULL,
0xD49983812D93F394ULL, 0xC82588C0C50A5E3DULL, 0x800B1BEEDC4CFE9FULL, 0xF0EE6DD8E80604DCULL,
0x134883BBDA8E422EULL, 0x5BFCC1663411D3EAULL, 0xE7EBD3D07FD96199ULL, 0x3C7ADF7D4548BCACULL,
0x8F904F57C1184601ULL, 0xA00095B00FF26885ULL, 0x99442D671BB32A97ULL, 0x4D145D408027A14FULL,
0x94564B177FEC1028ULL, 0xF9720EA65FDC9119ULL, 0x26E8545EEBF33D45ULL, 0xE98D5C917F4641EFULL,
0x07E79EE3FE56478AULL, 0x53CB9537F2F5368EULL, 0x82883F6E7E896847ULL, 0xBCC1431A8C9985BBULL,
0x158D39E352593E55ULL, 0xD4430C06524EE13EULL, 0x625867001290F9C1ULL, 0x8B1BA09E72E2A10FULL,
0xCF17B439C95F0786ULL, 0x51D9366C23BF0DF3ULL, 0xD624CAB7FA38DBF8ULL, 0xB884FE726FE29DCCULL,
0xE4D0531970AD3B5AULL, 0xC4D119BAC9450C51ULL, 0x8FA9E748A47F4161ULL, 0x672C49C01FF1F178ULL,
},
{
0x11BFC035327903C6ULL, 0x47A12F37B334FB20ULL, 0x4BC337908BEF3C38ULL, 0xDB39CD5A4BB5E46AULL,
0x373C0FE0F4520BE8ULL, 0xA4F8939806E63820ULL, 0x08502217D40F64CFULL, 0x11EECB48E0EA5F54ULL,
0xB63693B20A6AFC00ULL, 0xFB6580CEAFAC708DULL, 0xE62C4D6E3395328FULL, 0x167C4BD77848D136ULL,
0x4696CA33E825F63DULL, 0x53C43854BF4EB440ULL, 0x9241F3FE021F7932ULL, 0x679D6EFB8AE512FBULL,
0x6D3C8FE1C694A7F7ULL, 0xE397BE5E486B5612ULL, 0x7E618D541A5A26AFULL, 0xBB3EE19B03B72800ULL,
0x45E09A31C766B8ABULL, 0x834F81699F3D3FFCULL, 0x019D29D13E273140ULL, 0xF93A9A83FE192393ULL,
0x10B546F226D4879FULL, 0xAE7EA369CB4A3841ULL, 0x6303E26A663AF2DDULL, 0x488D48F07C554B21ULL,
0xC5D3C02FEA9E047CULL, 0x690C534A402CF3B6ULL, 0x2BD7F0141484367BULL, 0x0553D85FC1FC73CFULL,
0xA66D7CFEE007BA21ULL, 0xA0E974714AD9827AULL, 0xE46811F984DB4711ULL, 0xE88A0A51C8CEC20DULL,
0x202652A29C529A88ULL, 0xE2040F9929072D98ULL, 0xC209377E089E8918ULL, 0x82EFECA3D4F88E1DULL,
0xCFFF29F16FADA22DULL, 0x63D93979B0B16249ULL, 0x806955EBF7BB532EULL, 0x5AE39713274FC352ULL,
0x08A89D8A26D019DFULL, 0xACEAC473C708975DULL, 0x7677CAFFFE3C826BULL, 0xD1350C41CD59BB8BULL,
0xD1D2C2A772B54DB1ULL, 0x5993C531A2187B75ULL, 0x463032F0C32DC75DULL, 0xD264E00D27D8222DULL,
0x795FC90F8C7AA19DULL, 0xEA0C9059966C0411ULL, 0xBE9C7890853C6A8DULL, 0x155271D51BAD4FFFULL,
0x58B816D5F7C16B67ULL, 0x73EB5CACACE410F2ULL, 0x56C3F9520AC94B28ULL, 0xF527C199E3269AACULL,
0x7492CBA071DE7698ULL, 0x3FC13EAC0EF726E9ULL, 0x9EB30E1F843A5B2AULL, 0x960202DA2CCF0617ULL,
},
{
0xC7ECEA1FC883DD40ULL, 0x666D3F4E81042393ULL, 0xE12BE379A94D9B34ULL, 0x003FBBFC763EE663ULL,
0x0D802DA7840E7ADDULL, 0x4A85F6D80CED2222ULL, 0xB7FBBA65A742C447ULL, 0x99A84A877F414BC4ULL,
0xA15692696F15BEDDULL, 0x77FF67954CF033E1ULL, 0x51792228B6CB21EFULL, 0xF5119EC24AFAC47FULL,
0x9F22B86768246987ULL, 0x28ECE553781B7893ULL, 0x53760D35140A0D1CULL, 0x319C9EE30BCC8A31ULL,
0xBA8172DB261E2654ULL, 0xBB5990235E154922ULL, 0xCF7B99EA9A37857DULL, 0x2A7FF9FE58BE5F33ULL,
0x96A35EE06C900D8CULL, 0xD00CDABBC6973ACBULL, 0x5570EEC9FE9D4885ULL, 0x3407611CAE6F7853ULL,
0x3BBF4D1C7B8BC18CULL, 0xC88190C025D2BF44ULL, 0xA18687DE2302722AULL, 0xF2F78E7BA71FE583ULL,
0xB1BEE12355DE0A7EULL, 0x0C92D25C73A8523AULL, 0x6EA460E091AEAA40ULL, 0xC33413A86C0C6AAFULL,
0x2C323ECAA3DBF012ULL, 0xCC1B64D98119F5C0ULL, 0xF6C180961E5940BFULL, 0xBDB4748037919085ULL,
0xD8A9EE37A15B7CCEULL, 0xA6DD9931440E9AABULL, 0xA70F1FE7F0033927ULL, 0x69C6C59E532B0D13ULL,
0x24F317D6EFC27516ULL, 0xAD47020BB80BA8D2ULL, 0x77E6934CB548241FULL, 0xE4D6A83ED631F8B4ULL,
0x38FAA7DA2BDF2C48ULL, 0x098B4D492EF29527ULL, 0x6FD01965F215696CULL, 0x36F35AA665136989ULL,
0x8AEF2282966C8DDEULL, 0x5A5F8FAECD154ED8ULL, 0xAF0BA5A3B3D0C8ACULL, 0xF4AF7475A9177153ULL,
0x85C05C32D80C7E41ULL, 0xFAC67BCD5EA2DDF5ULL, 0x98DD5EB87CDB5286ULL, 0x10941024525F63FDULL,
0xF9CDB30395585588ULL, 0x62A0E4074350B246ULL, 0x218AADE9BB3B83FAULL, 0x2EA5A9AF4BF02E5DULL,
0x3DDBF809AA380723ULL, 0x2C1D524FBA0BBCE2ULL, 0xF4302055B20D96F9ULL, 0xB44DC6A604AB833DULL,
},
{
0x9332B184E85926AAULL, 0x50281F45CFBE68A3ULL, 0xC4416B04F11BA164ULL, 0x7C97C05E8F6F36E3ULL,
0x488A8D2DA20F6F65ULL, 0x527462F5BDE52E46ULL, 0xA29284A53A716C6AULL, 0x0F0BCBD7B3D10528ULL,
0x0CD95B40F8D7F942ULL, 0xF4C8976CD4014145ULL, 0x7998C73517BE1E4BULL, 0x47A5B9BAEB7AF424ULL,
0xFE93EF14AA32E593ULL, 0x293EABF5A5BBE063ULL, 0x671EC1EF9F8679E9ULL, 0xE82D2BB688DAE29BULL,
0xC9E56CC8DF96CABAULL, 0xDB030BCEE541DB5DULL, 0x9EA0B991302A31A2ULL, 0xD3E948FCF694A74FULL,
0x4A02DCB6CCC47B48ULL, 0x5A692E5B6109E3E5ULL, 0x8F48639C5FD0B389ULL, 0xC7830999AF286C29ULL,
0xC181324B07640723ULL, 0x0549E675D34D5895ULL, 0x41FAE22ED61782A2ULL, 0x92DB0BAC9B058B28ULL,
0x7C1E37D7E0B2E690ULL, 0xA4588C7534EA02BCULL, 0x2B12076F01B7C8F8ULL, 0xAE1855F66CD758B2ULL,
0x3BC110168F68728CULL, 0x66A47773AD389A0DULL, 0xC6F834B7B2537D86ULL, 0x2B331E1A2E200401ULL,
0xAFB75A62BE8983B3ULL, 0xDF9D1528E8C1B651ULL, 0xB45366242FACE32DULL, 0xE363AAD608194040ULL,
0x15CDB18678CE21FEULL, 0x5D69A7E69633CD71ULL, 0xA02277C5A661FC69ULL, 0x76B9406AB093A973ULL,
0xE845A44EE2F83F29ULL, 0x5D6E3E151F583C16ULL, 0xD0D0103D9A1774A1ULL, 0x0D42C438DA64C7A5ULL,
0x856F587E3669A01AULL, 0x860A316ACFE2F043ULL, 0xCF4F2ACDA9E5DE05ULL, 0x31C39E917C432C2FULL,
0xEFFB10F8672FA6B6ULL, 0x3695A5A033601F61ULL, 0x5C3D60FC28A80EEEULL, 0x32D049CA0C8CF69AULL,
0xAC63B8D3ACB9919DULL, 0xC256768ED0059D82ULL, 0x2993B8FCA23A18CEULL, 0xB5B8368051D5C48CULL,
0xFF7055F1BF57F008ULL, 0x5964897A585F385FULL, 0xFE2B9EE5D94C9C9DULL, 0x729B3D069FD09C9FULL,
},
{
0x67CB82E4F524C4A8ULL, 0xAC0A2716784AB60AULL, 0x5C5DBA64E0035D16ULL, 0xC6AEC8494CF6F5FCULL,
0xC345AAAB547E79D6ULL, 0x96F00C8802C3F766ULL, 0xA9E75455CD819293ULL, 0x373520A7B7292BBAULL,
0xD8E476EE6DDE9168ULL, 0x8324E93E8E2A71A3ULL, 0x563974D423F23F25ULL, 0x40159D5C8CFA6A8DULL,
0x178D2A2D09B90A01ULL, 0x1B42D059BBF83B9CULL, 0xAE9D48FCEC519DCDULL, 0xCCFC3D0D4C380E63ULL,
0x2B12C5ACE93582ACULL, 0x26A042435D2969E5ULL, 0x6B10503D262F1B74ULL, 0xB0B267CA69C2160EULL,
0x6FE82EB4181DD931ULL, 0xDD9FB1E258130780ULL, 0x342178E6D7136B94ULL, 0x5CD6E1AE4E5B2E52ULL,
0xCF195E563B456FABULL, 0xB5547443ACFCADC5ULL, 0xAED2E109E1268554ULL, 0x08FDD8A924940C07ULL,
0xB67035735437EAC6ULL, 0x5E69095ECEF853C4ULL, 0xD5C4B7ABB96A43D3ULL, 0xC9FB4D3CF9270536ULL,
0x1BAC298958B69095ULL, 0xFEE0E67979423B18ULL, 0xA796CCF9E9872590ULL, 0x41C3211EC1FBD85DULL,
0xDCB22692BAA167D5ULL, 0x7D9CE91C6A8ED7B1ULL, 0xC8BE883C89AA8D81ULL, 0xE7CDDD7D2862DFCCULL,
0x1637B6CBA7134BC0ULL, 0xE11573A85A4A1B89ULL, 0x00B244A68D7E7F0BULL, 0x9905165D822D1941ULL,
0x175EAED3A2428A05ULL, 0xA3DA259527C487BEULL, 0xCCF7D9CD618B99F8ULL, 0xF959F9C1DAC60566ULL,
0x03E42315403D6BE5ULL, 0xFDDB1A069ADA5847ULL, 0x91784AF7743DC549ULL, 0x2DFB32F20204E3D9ULL,
0x752E7AFD01CB4D3AULL, 0xA1CE6393A6F839F5ULL, 0xCB7E7E1442B79199ULL, 0xD3F67BBA14A32A05ULL,
0x38F51FFB87979C68ULL, 0x6CDE2E0E3C8E0CE3ULL, 0x6D7D8959014FC4B6ULL, 0x706796A694807C00ULL,
0x98FDE89E55A26B25ULL, 0x3C84CF22B42D08ECULL, 0x3AB1BB3D62B698D3ULL, 0x02EF578655347599ULL,
},
{
0x3BAF9EF5C22F3AC5ULL, 0x5116996BB81BBBA3ULL, 0xE7DCBB7BF734FCC8ULL, 0x57EB02663EAC1788ULL,
0x9A76A606F91D3B48ULL, 0x87FA63D8F6734F96ULL, 0xAFDD2103FAD13887ULL, 0x8536E613556DE710ULL,
0x48430C91F1BA7F49ULL, 0x311861A72772544CULL, 0x4CDAD06DBD90088FULL, 0x9A4459D6CFB76BE4ULL,
0x95B163B57AD07652ULL, 0x3A70EEEFC78AD492ULL, 0x5EB0CD276C268068ULL, 0x5DD3C6F7ECB31F15ULL,
0x2DBC0DD82DDEDD6FULL, 0x4F2619AAEE454C38ULL, 0x9F8D533EFE160349ULL, 0x85E4133E7B8A6B82ULL,
0x4C0DD8BDC70C6A2EULL, 0x333707681043D713ULL, 0xF4883DFE3CA226DBULL, 0x2D946E7EA0BBD55BULL,
0x04DCA04696249DABULL, 0x612BD4E4678B21C5ULL, 0x10AAD4C41FA2260EULL, 0xE27C50D8F815C26EULL,
0x583B9D719220765AULL, 0xF518B038EBE642D7ULL, 0x01541A086251A1BFULL, 0x12A58B77905B6D7DULL,
0x950B1F7D819776E9ULL, 0xF5E3A8A4977B7F0BULL, 0x2647423E5DFB2A9EULL, 0x22A5574D93AD36D4ULL,
0x88093D91DB1334E3ULL, 0xC40A2C751D713245ULL, 0x8E44F65A95A5C7A1ULL, 0x11D2D8B788BA0E57ULL,
0x3FF1BA0DB79E0B59ULL, 0xEA58696E334D12EFULL, 0xD5798DD60B9D1D9DULL, 0x23BEE8632B234EC8ULL,
0x3F52C5DC607FD0F3ULL, 0xEB93B1C5ADB62C0DULL, 0x6DC5F9EAC6A3E68CULL, 0x2B7CFCA3BF8F6985ULL,
0xD2B7E1A583D4ADC3ULL, 0x48FD9A77DA909285ULL, 0xBB35F6D0CDF3CE41ULL, 0xF44B607D29C9F643ULL,
0x251A4527CD0C0B60ULL, 0x2B619300A3954E6EULL, 0x21F8DEC5F79CC81CULL, 0xCB8A80F8119CA209ULL,
0x67760C5398157715ULL, 0xCB8148CA8BE4BD05ULL, 0x753FBD9771B37188ULL, 0x4F0E42F7B7B13170ULL,
0xBE5D4263ABA8F956ULL, 0x41B5656C22E250E6ULL, 0x6981714D36535643ULL, 0xF76317333F51F5DDULL,
},
{
0xACE4627CDBA4E44EULL, 0xFE63B66C5CB41A3DULL, 0xBB4D58B35B404F47ULL, 0x10D809033EC4C787ULL,
0x024BCDF6CE38B64BULL, 0xD2EA14C06CDF921BULL, 0x701577850BE8C7EDULL, 0xD454E1A99839AAEAULL,
0x896B57D42EA4ACCFULL, 0x5A0E5F27ECF211B2ULL, 0x6A728C3B56D7BE43ULL, 0x22A1EF43325708CEULL,
0xCF9491DD5555B999ULL, 0xD979FBE520A37741ULL, 0x17A8904E6579C0D4ULL, 0x8C09C299696DCFF0ULL,
0xA062AB7835FCD74BULL, 0x89646756244A2E83ULL, 0x41E1B9A74C460003ULL, 0xE541E23F4067A336ULL,
0xA96321A6081BE01AULL, 0x338F7EB5FC973688ULL, 0x21F473DD09D54E2CULL, 0x46F64BDACB04D29DULL,
0x9FE120D05920140AULL, 0x2E312720F004D65DULL, 0xD3019CCF1071DF30ULL, 0xFAA2A2493C1D1297ULL,
0x4FCCB46E9F5600CFULL, 0x64E813B77E5E6BAFULL, 0x9AAFED71195547A5ULL, 0x4196486DE6BA1263ULL,
0xEE990D7663020474ULL, 0x86B81EB0EF2584B7ULL, 0x8023CA18149CD787ULL, 0x6932B5C636BE3072ULL,
0x8AFAAC66EC9B2401ULL, 0xEA9A4C501DB72997ULL, 0xE4E5A52B5129483BULL, 0x1C4918119FE3C4A5ULL,
0x28A6AA18BA478741ULL, 0x5D0E9A8845510D5AULL, 0x9F362567DBD7E079ULL, 0xBD74164315287521ULL,
0xEAC70E0B1DBD4481ULL, 0xB3E5F6298C867500ULL, 0x9AD66AC604651ECCULL, 0xB0AD61D5A98AA7BFULL,
0x8509573106EBFB2DULL, 0x3D2CE46964DE300AULL, 0x42900BCD00BB22CFULL, 0xEA7703F1041CB5F0ULL,
0xB699A7167EE73ACFULL, 0xB2F98FBAB43F3A75ULL, 0x79D2BDB43A3E13A9ULL, 0x6067607FD20E60D6ULL,
0x0358C1A9E4AF9AF6ULL, 0x85B9F5E9D2BCE642ULL, 0xBF6D9BBC2AD66923ULL, 0xA723E32ABCC75522ULL,
0xA7E80C90851D3B3CULL, 0xDA4EC4EF6EFA7C5EULL, 0x45D2D0D306387CFDULL, 0xEBBF6E1200A9EE71ULL,
},
{
0xBF66CF96DAE9A91EULL, 0x802EC8407C99BFF8ULL, 0x294C2CD435A7CAC7ULL, 0xF10771CEC8D0851AULL,
0x2474205172A0481AULL, 0xC5E2718C16C65B37ULL, 0x1465181C0C87F330ULL, 0xCD9D37C6B694958BULL,
0x5B33FD799CD9ECC7ULL, 0x2CC30630D66D967FULL, 0xDC8E6466D059F421ULL, 0xBCDF5C9DCD979C84ULL,
0xCECAF5F575E724FEULL, 0xB777CAC269059D83ULL, 0x6216A7F1221DA672ULL, 0x09857AD0FEDAD892ULL,
0x0969A0FAA3532554ULL, 0x4FD0451646EF1CBFULL, 0x1AA879DE1D1D3123ULL, 0xB5F8B8B8C5A28C87ULL,
0x4734D4824F30A946ULL, 0xEE82CEBA2338A0F0ULL, 0x2410E2638B2E43D9ULL, 0x240672521040FAEAULL,
0xBC08A764A3A534F0ULL, 0x523C250D33B87AD9ULL, 0x834039B23E2D7C23ULL, 0x60B55D6A6C322802ULL,
0x544D5AD26FE6BD40ULL, 0x4AB9C782F8EEECCDULL, 0x72DB36E7FF0F7E7BULL, 0xF78405F7F853C7F0ULL,
0x50D811E77188EEC7ULL, 0xFD0507BE93A85888ULL, 0x2A1C657F37E32309ULL, 0x275C9AC6FD5B6E98ULL,
0x1E5816573FF31B6DULL, 0xA9E64FDF037F4439ULL, 0x5484038445E0FCB1ULL, 0x5FA5EA50DE5A97CFULL,
0xC862F40AF81417A9ULL, 0x58C3E9F51BE8B8DBULL, 0xE41E2B93A6EE6166ULL, 0xEE7E6B2A64141A96ULL,
0xBB8FF6D66C1483DAULL, 0xE4F325776685D498ULL, 0xB1289382F5F03180ULL, 0x6E56E7B5E19E85A1ULL,
0x228718BAC18034CBULL, 0x10CD9F982F9BA115ULL, 0x8C7EF34CA6EC1419ULL, 0xF4DFA4C96B4C0FC0ULL,
0xC232EB1A68F45A7DULL, 0x0D861B5193DA2AE1ULL, 0xDB6F3FCA75530131ULL, 0xEB0BDA783C711B27ULL,
0x99852DF9AC826A65ULL, 0xDCD01F6291DBCCFBULL, 0x145D7AF5083C096FULL, 0xED1018F85E5A905AULL,
0x00F9786CF7696574ULL, 0x9A1A7BF781638405ULL, 0x0A3F513EADCEB6E3ULL, 0xB5113C55EA291684ULL,
},
{
0x76E26B014D65397EULL, 0xA655A2FCCFB0AD3FULL, 0x77784A22937DC753ULL, 0x9F05020ECB7D7769ULL,
0x4F67241366578703ULL, 0xCA92FA5507DFA63EULL, 0xFC1D24E7590ABE2BULL, 0xB06F1FE12C166DC8ULL,
0x00AEBA9CC169A666ULL, 0x1417C9D287B6400FULL, 0xDDB70C6F62688885ULL, 0xDAA8A92ACBA2D03DULL,
0x9B28C97694206DD8ULL, 0x07AACFCF8B3B1C20ULL, 0xC006F28DF2838100ULL, 0xFD9F6A1FA29F4B03ULL,
0x67A68AF0FBB4B4A1ULL, 0x143D4A17FD4257B5ULL, 0x1C07C5DB4740641FULL, 0x30C0E483AE05CB9DULL,
0x1ECF5EC3C89495E1ULL, 0xF72658C5A340B588ULL, 0xD94AF69918B75377ULL, 0x45835519CBFBA375ULL,
0x768645A4E950319AULL, 0x062B709A3398712AULL, 0x53FA7942E21D013DULL, 0x81DBA392D91E8BD7ULL,
0xC365B4EA9CC85E56ULL, 0x74CBA94D374CAC16ULL, 0xBCEEE18B70B2A8C5ULL, 0x79ED8BB942F5FBE7ULL,
0x9144278A35164A8DULL, 0xB9F436369B918BE9ULL, 0x91D62EDD3822360EULL, 0x02BF5A30C4B7738AULL,
0xA2A41FE17616731DULL, 0x851545897CFFD845ULL, 0xA0270A0F07D94214ULL, 0x06426FD4EA37138FULL,
0x79DE1200A59CB8FBULL, 0xF0E225D8DF86D873ULL, 0x99E456489A4C2850ULL, 0x151CD1E6ED32EFC3ULL,
0x891A0B397B2E687DULL, 0x4FE91384A70549A1ULL, 0xBBD6E84F6744F7BBULL, 0x48A1D799458D31AFULL,
0xCD4941175165D5DBULL, 0x3D6530A0E415299CULL, 0x1FD9CDFC1B1641DBULL, 0x811B0B0778D8A095ULL,
0x0531057409745379ULL, 0xB7B0B8CB5C46ECFBULL, 0x0DE6B1C8F00309DBULL, 0xE35BA75CBED2D47FULL,
0x3F3C13573558B40FULL, 0x798F7ADC70708DCDULL, 0x9543521D9B792C12ULL, 0xDB64DFB11CBFFED2ULL,
0xCA564CFB045F39A9ULL, 0xD9F283A8FF11E8C5ULL, 0x5A8A9B02A47B6C69ULL, 0x0AC5F58A7D6F526BULL,
}
};
static PosSignature aSTMArray[NCOLORS] = {0xC86CD3E7759239D6ULL, 0xC24D2D2A3B71CD8DULL}; // side to move
static PosSignature aCSArray[16] =
{
0xF64A24374F742EEBULL, 0xDCDB41E5C6F78E84ULL, 0x8141577E0A225FCDULL, 0x9C88C1ABB0F31D08ULL,
0x28E180B004DC182CULL, 0xF1CCD859362BED75ULL, 0x64A72365414BB300ULL, 0x6EFD78AA405FB575ULL,
0x3BD803A8E9C8EAA9ULL, 0x48AAECBC10A70BA7ULL, 0x784C8E6F2A0E1CF9ULL, 0x19261C827CC58920ULL,
0xA8B25A67D0A7EB51ULL, 0x2A3CEEC00CF67FA8ULL, 0x1E5FC51DFFBF4469ULL, 0x5A89A20B754AF3BAULL,
};
static PosSignature aEPArray[64] =
{
0x693BF45317C18205ULL, 0xCF7F8DF5B8B2394EULL, 0x4F5F1815CDA6A0EEULL, 0x8A4DEE133C83B28AULL,
0xBCFF892924A2D163ULL, 0xE155C5FD6D40BE3CULL, 0x30A6A6392AC1A38AULL, 0x95FAAD9B0C4530BEULL,
0xAD2C00AEA5DF2021ULL, 0xF68D55BF92D9ACCCULL, 0x36EDBE782DC98719ULL, 0x265C460DCFD6E5E7ULL,
0x7F8E4C9770970CC9ULL, 0x3969568DD499B3A6ULL, 0x4D95F9C4D57A9996ULL, 0x0EC48CD680B9BAC0ULL,
0x5154BE146800915CULL, 0x2846690698DFBEB6ULL, 0xA35AC9FDE73FC6B0ULL, 0x13930146D4131331ULL,
0x9650063D021F0E93ULL, 0xF7CA1386C22BD5A7ULL, 0xC76422D02FEFCF10ULL, 0x97CC9372843B3B9BULL,
0xF6047A96B85D98FFULL, 0x15C55278118B2BB9ULL, 0xA2BF655789C3D7FEULL, 0xA44A46670FAD84C7ULL,
0x98A38CDAA119F5B7ULL, 0x23B5CEDDC0CADB0AULL, 0xFAD87BC2D580F268ULL, 0x5027A315574A8F9DULL,
0x5326CBAC0F711155ULL, 0x3EF6F99AEB2125D0ULL, 0x24FD41E275A26991ULL, 0x6ABDF8101353C3D7ULL,
0xB9F6212A6D22374EULL, 0x355FD10CD9C9D9CFULL, 0x2712A503F0E49CA5ULL, 0x6E52B0070DC29E08ULL,
0x4C922DED28D3A75DULL, 0xFB0CE6F3CEF0A7E5ULL, 0x778A356A52DD2D91ULL, 0xB0E4E696C83342CCULL,
0x3AEE595B7A54E386ULL, 0x8F43D790801EFCFEULL, 0xFDA0A2B1DCDB4DD8ULL, 0x176E39E242540685ULL,
0x85E883D25F018439ULL, 0xDF658033A639425CULL, 0xF1A4024A449032C9ULL, 0x2C9274756F16BF35ULL,
0x3C70D842809944D0ULL, 0xBBBD5E0E094868F5ULL, 0xFEBE3EBD64434431ULL, 0x5E41EB6566E56596ULL,
0x3E644A9724246357ULL, 0x25E81DC3A7D8EC13ULL, 0x9F4D772CFE389490ULL, 0x0BDA6C06F2207403ULL,
0x297CD11455793445ULL, 0x3BB6EAAC7B450142ULL, 0x67A123F23ABBA0FAULL, 0x651BC4492775C26BULL,
};
#if 0
// more if I need them
0x582B7B363D66F4D6ULL, 0xFBC0639002DCF5D7ULL, 0x43C2195181F21AA5ULL, 0x341087749C8A1BC7ULL,
0x7FB4B3C958036008ULL, 0x8D8E61292749E9DAULL, 0x7F23BA0E636D8CB2ULL, 0xAAC5F0CDB7E512E5ULL,
0x03099CEEE60B67A5ULL, 0xDF607A08C50B2AE9ULL, 0x93006B7E75B7580AULL, 0x462BF2DE7B1FAE9AULL,
0x4E4DB16A6CC61987ULL, 0xC7240D4B23D4EC30ULL, 0x75CA74B552291B6FULL, 0x006332B1FCC4654CULL,
0xF35CACFA9752E09FULL, 0xF601E05B36DF5AA8ULL, 0x3D5F88AAE64A403DULL, 0x9ABEA3FC6612D5F2ULL,
0xD8ECD719B8D767A7ULL, 0x3080975532AC47A6ULL, 0x1A248FC2736701ACULL, 0xE2E68EABD6BCD137ULL,
0x9C722907D98ACADCULL, 0x70F215B44764FEDDULL, 0xF6EE546223F40238ULL, 0x74BF1C7F38E97F1BULL,
0xBD8F480415EB98E9ULL, 0xCB6712E4EB84EEABULL, 0xEFEBE82070032951ULL, 0x2587019AF2A1F1E5ULL,
0x1B3AD30E5FF876CDULL, 0x10C619A029E709E1ULL, 0xEC09E6C18439DE76ULL, 0x65F4B51D28E1C829ULL,
0x3E234DC3C6EEE000ULL, 0xB6EE53007108C268ULL, 0xAD38FD7972721547ULL, 0x34302C92E204CA9EULL,
0xBDA6B914D3DE5823ULL, 0x68D210AD5846BF2EULL, 0x19CBFE37F5CF218BULL, 0xEE4CC56181D15A7DULL,
0x43674667AD6E344AULL, 0x90B7B7A00470FBD9ULL, 0x09DA148FAAF1F62FULL, 0xF38BE4CAAB47C62BULL,
0x14439A918CB094D2ULL, 0x83315A80A93B10B9ULL, 0x4D20763AE570EAAEULL, 0x263468F4317EE25AULL,
0xB561971D44608622ULL, 0xEF62F8C1EC8F89D5ULL, 0xA0279C94012F517BULL, 0x4175019C5CA69A4FULL,
0x74D051035D5613A7ULL, 0xB3658B48E7BBEF6AULL, 0x187841AA5122214CULL, 0xE869078687D9524AULL,
0x9E394A111BF6CE31ULL, 0xDE9D891E6B6DEC2BULL, 0xB878BA171C9E2B72ULL, 0x56CA69507F311973ULL,
0x11BD50C256798BCCULL, 0x19CB0223B3947609ULL, 0xA19A78DB5935FADCULL, 0xF0D1525FF33AD1A2ULL,
0xE6E5D1CBFF058C83ULL, 0x11C6B14222D9B7FBULL, 0x6A4835A902AC706CULL, 0x3A513982ED5A511DULL,
0xB588911F07484694ULL, 0x3AF57A584AC4F65FULL, 0x8AA1B027C7681071ULL, 0xDCEA5DD0D4A5323FULL,
0xC8146DC3DEB35B09ULL, 0x04C94B0FE47AB1C8ULL, 0xF12DEF43F13098F2ULL, 0x3E69EFDC19252CB8ULL,
0x6D429FD7CB17133AULL, 0x3912DD28D009A0C8ULL, 0xA7EBA90063AFF270ULL, 0x9359296F1709F6FBULL,
0x97C6336387DDFD1FULL, 0x7A8A8609BBB951CFULL, 0x9A627FD870214C4DULL, 0xD67B24C8573AA5CEULL,
0x18D8A55D4E21AC68ULL, 0xAF4DFA2C3F982CDEULL, 0x9565E9183173D3A9ULL, 0x2640444025514846ULL,
0xE60BEFFC578C5C0DULL, 0x048D95F51CA23C34ULL, 0xCEAB9078188C9EEFULL, 0xEB1590654D5A45F8ULL,
0x8FA80795AC0BABA0ULL, 0x517EA26DDD98E32CULL, 0xACB1D2F8910BC55CULL, 0xA9678157CB40A801ULL,
0x075EC8AEDBF66760ULL, 0x813258260ED87033ULL, 0x14F7AD9145114386ULL, 0x5A8E0C4291D2EC1BULL,
0x763F5A4583961CADULL, 0xDA4B869493144C7DULL, 0x8675D046AAD2E078ULL, 0xF45A726B5D2DAFD2ULL,
0x6C0D36B639344686ULL, 0x8CC7E1AA988036BDULL, 0x50BD574C78AF3EAAULL, 0x824CACC974B012E8ULL,
0xB341835A7E629675ULL, 0xEEF9B6C873BA46C4ULL, 0x4CB46D5B004CB3D5ULL, 0x8913B4941955857EULL,
0x1734B7576B87F931ULL, 0x7963CACCDE599DA2ULL, 0xDE2ADCBCE1ED1F98ULL, 0x1689036A38E6D297ULL,
0xC0A3A2D995EE20FAULL, 0xA2D5985D75BC85A7ULL, 0x652896F9A7D5EE28ULL, 0x02001A56DFB166D5ULL,
0xD3F12D7BCCC37335ULL, 0xE6BD8C420AEFB1F8ULL, 0x0DA1B316139286ACULL, 0x8C707AA306241A38ULL,
0xB8FF4DC49D31C69DULL, 0x492DA3B157D36BB4ULL, 0x91F5983088D67853ULL, 0xFA8E9580705E4959ULL,
0xF8FC769C26A3F8B1ULL, 0x7B0426A53F4B30CCULL, 0xDCE72AA2490D9DCCULL, 0xDA772E7E2F3870E6ULL,
0xAA5F2BB893B6026EULL, 0xF1C4AA9396F251B4ULL, 0x041032FF6D7713CEULL, 0x659B0FED126F5A39ULL,
0x32707BF766EB3A80ULL, 0xC946D461F5522587ULL, 0xC86CD3E7759239D6ULL, 0xC24D2D2A3B71CD8DULL,
#endif