GNU Shogi 1.2p01
[gnushogi.git] / src / pattern.inc
blob802219f9fc25ea25f36ffc737ec827c844868a08
1 #define MAX_PATTERN_DATA 2102
3 small_short pattern_data[MAX_PATTERN_DATA] =
5   11,
6     5, -3, 1,29,1,19,6,10,4,12,5,3,1,-46,1,-60,-4,
7     6, -3, 1,19,1,29,4,10,6,20,1,-37,1,-51,-4,
8     8, -3, 1,19,1,29,4,20,1,21,1,22,5,11,14,12,5,13,-4,
9     5, -3, 6,10,1,19,1,29,4,20,5,11,14,3,-4,
10     5, -3, 14,4,5,3,5,21,4,11,6,10,1,19,1,29,1,30,-4,
11     8, -3, 14,3,6,2,5,11,4,20,1,19,1,29,-4,
12     7, -3, 14,3,4,10,5,11,5,13,1,19,6,20,1,29,1,30,1,31,-4,
13     8, -3, 14,3,5,11,6,12,5,13,1,19,4,20,1,29,1,30,1,31,-4,
14     9, 10, -3, 14,2,5,11,1,19,1,29,4,20,1,30,1,31,5,21,-4,
15     11, -3, 14,10,5,11,1,27,1,19,1,29,1,30,4,20,5,21,1,-45,-4,
16     -3, 14,2,5,10,1,18,1,19,4,20,5,21,1,29,1,30,1,-36,-4,
17     -3, 2,0,3,1,14,10,5,11,4,20,1,19,1,27,1,29,-4,
18     13, -3, 6,20,4,-65,-4,
19     6, -3, 6,20,4,10,5,11,4,-46,-4,
20     2, -3, 4,20,5,11,14,12,5,13,-4,
21     8, -3, 14,2,5,11,5,21,-4,
22     7, -3, 14,3,5,11,6,12,5,13,4,20,-4,
23     11, -3, 2,0,3,1,14,10,5,11,4,20,-4,
24     6, -3, 14,3,4,10,5,11,5,13,1,19,6,20,-4,
25     -2,
26   111,
27     1, 2, -3, 1,22,1,23,1,24,1,34,1,26,7,16,4,6,-4,
28     3, -3, 1,22,1,23,1,24,1,34,4,14,7,16,3,7,-4,
29     4, -3, 4,15,1,23,1,24,1,34,7,16,-4,
30     5, 6, 7, -3, 4,14,1,23,1,33,1,34,1,26,7,16,3,7,-4,
31     12, 14, 15, 17, -3, 1,33,1,43,4,34,1,35,7,16,3,7,2,8,-4,
32     12, -3, 3,7,7,16,4,24,1,33,1,43,1,44,1,-53,-4,
33     9, 11, -3, 2,8,7,16,4,23,3,24,1,32,1,33,1,34,1,44,1,-62,-4,
34     8, -3, 4,14,1,31,1,23,3,24,1,33,1,34,7,16,2,26,-4,
35     -3, 4,14,1,31,1,23,3,24,1,33,1,34,7,17,2,26,-4,
36     10, -3, 4,23,1,32,3,24,3,33,7,16,2,26,1,44,-4,
37     -3, 4,23,1,32,3,24,3,33,7,17,2,26,1,44,-4,
38     -3, 4,31,1,22,1,32,1,33,3,24,7,16,1,43,1,35,2,8,-4,
39     13, -3, 3,7,4,24,1,33,1,43,2,26,7,16,-4,
40     -3, 3,7,4,24,1,33,1,43,2,26,7,17,-4,
41     16, -3, 3,7,2,8,7,16,1,43,1,33,4,42,-4,
42     16, -3, 3,7,2,8,7,16,1,43,1,42,4,34,-4,
43     -3, 4,42,1,52,7,16,-4,
44     -3, 4,44,1,52,7,16,-4,
45     -2,
46   12,
47     1, 2, -3, 5,3,5,13,14,4,6,10,1,29,4,2,3,1,2,0,-4,
48     3, -3, 1,27,2,0,3,1,6,10,14,11,5,3,5,13,1,19,1,29,1,21,1,31,-4,
49     4, -3, 2,0,3,1,4,2,5,3,5,13,14,12,6,10,1,19,1,21,1,29,-4,
50     7, 8, -3, 2,0,3,1,5,3,6,10,14,11,4,12,5,13,1,27,1,19,1,29,1,21,1,31,-4,
51     5, -3, 2,0,3,1,4,2,5,3,5,13,14,11,6,10,1,19,1,21,1,29,1,22,-4,
52     6, -3, 2,9,14,10,3,1,4,2,5,3,6,20,1,18,1,19,1,29,-4,
53     -3, 14,0,2,9,4,10,5,11,5,2,1,19,6,20,1,29,1,21,-4,
54     -3, 2,0,3,1,14,10,5,11,1,27,1,19,6,20,5,21,1,29,1,30,-4,
55     9, -3, 2,0,3,1,6,10,14,11,5,3,5,13,4,20,1,38,1,21,4,22,1,31,1,-56,-4,
56     -3, 2,0,3,1,14,10,5,11,6,20,5,21,4,22,4,29,1,30,1,31,1,37,1,38,-4,
57     1, -3, 2,0,3,1,6,10,14,11,5,3,5,13,-4,
58     3, -3, 2,0,3,1,5,3,6,10,14,11,4,12,5,13,-4,
59     2, -3, 2,0,3,1,4,2,5,3,5,13,14,12,6,10,-4,
60     -2,
61   112,
62     1, 2, 6, -3, 7,16,1,43,-4,
63     2, 3, 5, 6, 13, -3, 4,14,7,16,3,7,2,8,1,31,1,33,-4,
64     13, -3, 2,8,4,14,7,16,3,24,1,32,1,33,-4,
65     4, -3, 2,8,3,7,7,16,4,12,1,24,1,23,4,22,1,40,1,-58,1,-50,-4,
66     -3, 2,8,3,7,7,16,4,12,1,24,1,23,4,31,1,40,1,-58,-4,
67     -3, 2,8,6,10,4,20,4,22,1,38,1,-56,-4,
68     7, -3, 1,43,1,35,7,16,4,15,-4,
69     8, 10, -3, 1,43,1,33,1,35,4,34,7,16,-4,
70     9, -3, 1,42,1,43,1,35,4,34,7,16,-4,
71     -3, 4,42,1,43,1,35,7,16,-4,
72     -3, 1,43,4,44,1,35,7,16,-4,
73     12, -3, 2,26,7,16,-4,
74     -3, 2,26,7,17,1,53,-4,
75     11, -3, 4,23,3,24,7,16,2,8,1,32,1,33,-4,
76     -2,
77   21,
78     1, -3, 5,3,5,5,4,6,3,7,2,8,14,14,1,23,1,24,1,25,1,26,-4,
79     2, 4, -3, 5,3,5,5,4,6,3,7,2,8,14,16,1,23,1,24,1,25,1,26,-4,
80     3, -3, 5,5,4,6,3,7,14,8,5,13,2,17,1,23,1,24,1,25,1,26,-4,
81     12, -3, 5,6,3,7,14,8,5,15,4,16,2,17,1,23,1,24,1,25,1,26,-4,
82     5, 8, -3, 5,5,3,7,2,8,4,15,14,16,1,24,1,25,1,35,-4,
83     6, 9, -3, 5,5,3,7,2,8,5,13,4,15,14,16,1,23,1,24,1,25,1,35,-4,
84     7, 10, -3, 5,5,3,7,2,8,4,15,14,16,5,23,1,25,1,32,1,33,1,35,-4,
85     11, -3, 3,7,2,8,5,15,14,16,5,23,4,25,1,32,1,33,1,34,1,35,-4,
86     5, -3, 5,5,3,7,2,8,4,15,14,16,1,24,1,25,1,35,-4,
87     6, -3, 5,5,3,7,2,8,5,13,4,15,14,16,1,23,1,24,1,25,1,35,-4,
88     7, -3, 5,5,3,7,2,8,4,15,14,16,5,23,-4,
89     -3, 3,7,2,8,5,15,14,16,5,23,4,25,-4,
90     -3, 5,6,3,7,14,8,5,15,4,16,2,17,-4,
91     -2,
92   22,
93     1, -3, 2,8,4,6,5,5,5,3,14,15,1,25,1,24,1,23,-4,
94     2, -3, 2,8,5,5,4,16,14,15,5,13,1,25,1,24,1,23,-4,
95     -3, 4,16,14,15,5,14,5,13,1,25,1,24,1,23,-4,
96     0, -3, 2,8,4,6,5,5,5,3,14,15,-4,
97     1, -3, 2,8,5,5,4,16,14,15,5,13,-4,
98     2, -3, 4,16,14,15,5,14,5,13,-4,
99     -2,
100   13,
101     -3, 1,26,1,43,1,24,1,23,1,22,1,21,1,29,1,19,1,18,3,1,4,2,5,3,14,4,5,5,4,6,3,7,-4,
102     -3, 1,19,1,29,1,21,5,3,5,13,1,31,-4,
103     -2,
104   113,
105     1, 2, -3, 1,34,7,16,-4,
106     3, -3, 1,34,4,14,-4,
107     6, -3, 1,34,4,15,-4,
108     4, 5, -3, 1,34,4,14,1,33,-4,
109     -3, 1,34,1,32,1,33,4,23,3,24,-4,
110     -3, 1,43,1,33,4,24,1,44,-4,
111     7, -3, 1,43,4,25,1,24,-4,
112     -3, 1,43,4,34,1,35,1,33,-4,
113     -2,
114   23,
115     4, -3, 7,13,14,4,5,5,4,6,-4,
116     4, -3, 7,12,14,4,5,5,4,6,-4,
117     4, -3, 7,11,14,4,5,5,4,6,-4,
118     4, -3, 7,10,14,4,5,5,4,6,-4,
119     -3, 14,15,5,5,4,6,-4,
120     -2,
121   123,
122     1, 2, 3, 4, -3, 1,29,1,30,6,20,-4,
123     -3, 7,10,1,29,1,30,6,20,4,21,-4,
124     -3, 7,11,1,29,1,30,6,20,-4,
125     -3, 7,12,1,29,1,30,6,20,4,21,-4,
126     -3, 7,13,1,29,1,30,6,20,4,21,-4,
127     -2,
128   33,
129     1, -3, 1,24,1,23,1,21,1,29,3,1,4,2,5,3,14,4,5,5,4,6,3,7,-4,
130     2, 3, -3, 1,24,1,23,1,30,1,29,6,10,4,2,5,3,14,4,5,5,4,6,-4,
131     4, -3, 1,30,1,29,4,11,6,10,-4,
132     4, -3, 1,30,1,29,4,12,6,10,-4,
133     -3, 1,30,1,29,4,12,6,10,1,44,-4,
134     -2,
135   -123,
136     -3, 1,29,-4,
137     -2,
138   124,
139     1, 5, 8, 10, -3, 6,20,1,29,1,30,14,4,5,5,4,6,1,25,-4,
140     2, -3, 7,10,6,20,1,29,1,30,14,4,5,5,4,6,-4,
141     3, 4, -3, 7,10,3,1,5,3,6,20,4,21,1,29,1,30,-4,
142     -3, 7,10,3,1,5,11,6,20,4,21,1,29,1,30,-4,
143     -3, 7,10,3,1,5,13,6,20,4,21,1,29,1,30,-4,
144     6, 7, -3, 7,11,6,20,1,29,1,30,14,4,5,5,4,6,-4,
145     -3, 7,11,4,21,5,13,1,19,6,20,1,29,1,30,-4,
146     -3, 7,11,4,21,1,19,6,20,1,29,1,30,1,31,-4,
147     9, -3, 7,12,6,20,4,21,1,29,1,30,14,4,5,5,4,6,-4,
148     -3, 7,12,3,1,5,3,1,19,6,20,4,21,1,29,1,30,-4,
149     11, 13, -3, 7,13,1,19,6,20,4,21,14,4,5,5,4,6,-4,
150     12, -3, 7,13,3,1,5,11,1,19,6,20,4,21,1,29,1,30,-4,
151     -3, 7,4,3,1,1,19,6,20,4,21,4,23,1,29,1,30,-4,
152     -3, 7,13,3,1,1,19,6,20,4,21,5,23,1,29,1,30,-4,
153     -2,
154   34,
155     1, -3, 1,24,1,23,1,21,1,29,3,1,4,2,5,3,14,4,5,5,4,6,3,7,-4,
156     2, 3, -3, 1,24,1,23,1,30,1,29,6,10,4,2,5,3,14,4,5,5,4,6,-4,
157     4, -3, 1,30,1,29,4,11,6,10,-4,
158     4, -3, 1,30,1,29,4,12,6,10,-4,
159     -3, 1,30,1,29,4,12,6,10,1,44,-4,
160     -2,
161   -1
164 #define MAX_OPENING_SEQUENCE 14
166 #define MAX_PATTERN 128