Ticket #31: signed_char_7_7.5

File signed_char_7_7.5, 11.5 kB (added by arend, 3 years ago)

Convert various markings, goals etc. to be signed char

Line 
1diff -u engine/board.h engine/board.h
2--- engine/board.h      7 Oct 2005 07:21:22 -0000
3+++ engine/board.h      7 Oct 2005 19:30:51 -0000
4@@ -183,7 +183,7 @@
5 extern float        komi;
6 extern int          movenum;      /* movenumber - used for debug output */
7                   
8-extern char         shadow[BOARDMAX];      /* reading tree shadow */
9+extern signed char  shadow[BOARDMAX];      /* reading tree shadow */
10 
11 extern int chinese_rules;
12 extern int allow_suicide;
13diff -u engine/dragon.c engine/dragon.c
14--- engine/dragon.c     7 Oct 2005 07:21:24 -0000
15+++ engine/dragon.c     7 Oct 2005 19:30:51 -0000
16@@ -65,7 +65,8 @@
17                            struct eye_data *eye);
18 static void connected_to_eye_recurse(int pos, int str, int color,
19                                     int eye_color, struct eye_data *eye,
20-                                    char *mx, char *me, int *halfeyes);
21+                                    signed char *mx, signed char *me,
22+                                    int *halfeyes);
23 static int compute_crude_status(int pos);
24 static int compute_escape(int pos, int dragon_status_known);
25 static void compute_surrounding_moyo_sizes(const struct influence_data *q);
26@@ -1413,8 +1414,8 @@
27 connected_to_eye(int pos, int str, int color, int eye_color,
28                 struct eye_data *eye)
29 {
30-  char mx[BOARDMAX];
31-  char me[BOARDMAX];
32+  signed char mx[BOARDMAX];
33+  signed char me[BOARDMAX];
34   int k;
35   int halfeyes;
36 
37@@ -1443,7 +1444,7 @@
38  */
39 static void
40 connected_to_eye_recurse(int pos, int str, int color, int eye_color,
41-                        struct eye_data *eye, char *mx, char *me,
42+                        struct eye_data *eye, signed char *mx, signed char *me,
43                         int *halfeyes)
44 {
45   int liberties;
46diff -u engine/liberty.h engine/liberty.h
47--- engine/liberty.h    7 Oct 2005 07:21:25 -0000
48+++ engine/liberty.h    7 Oct 2005 19:30:51 -0000
49@@ -243,7 +243,7 @@
50                                       int str1, int str2,
51                                       int result, int move,
52                                       int tactical_nodes,
53-                                      char connection_shadow[BOARDMAX]);
54+                                      signed char connection_shadow[BOARDMAX]);
55 int search_persistent_breakin_cache(enum routine_id routine,
56                                    int str, Hash_data *goal_hash,
57                                    int breakin_node_limit,
58diff -u engine/persistent.c engine/persistent.c
59--- engine/persistent.c 7 Oct 2005 07:21:29 -0000
60+++ engine/persistent.c 7 Oct 2005 19:30:52 -0000
61@@ -87,7 +87,7 @@
62 struct persistent_cache_entry {
63   int boardsize;
64   int movenum;
65-  char board[BOARDMAX];
66+  Intersection board[BOARDMAX];
67   int stack[MAX_CACHE_DEPTH];
68   int move_color[MAX_CACHE_DEPTH];
69   enum routine_id routine;
70@@ -111,7 +111,7 @@
71  * This function has to be provided by each cache.
72  */
73 typedef void (*compute_active_area_fn)(struct persistent_cache_entry *entry,
74-                                      const char goal[BOARDMAX],
75+                                      const signed char goal[BOARDMAX],
76                                       int goal_color);
77 
78 struct persistent_cache {
79@@ -126,20 +126,22 @@
80 };
81 
82 static void compute_active_owl_area(struct persistent_cache_entry *entry,
83-                                   const char goal[BOARDMAX],
84+                                   const signed char goal[BOARDMAX],
85                                    int goal_color);
86 static void compute_active_semeai_area(struct persistent_cache_entry *entry,
87-                                      const char goal[BOARDMAX],
88+                                      const signed char goal[BOARDMAX],
89                                       int dummy);
90 static void compute_active_reading_area(struct persistent_cache_entry *entry,
91-                                       const char reading_shadow[BOARDMAX],
92+                                       const signed char
93+                                           reading_shadow[BOARDMAX],
94                                        int dummy);
95 static void compute_active_connection_area(struct persistent_cache_entry *entry,
96-                                          const char
97+                                          const signed char
98                                                connection_shadow[BOARDMAX],
99                                           int goal_color);
100 static void compute_active_breakin_area(struct persistent_cache_entry *entry,
101-                                       const char breakin_shadow[BOARDMAX],
102+                                       const signed char
103+                                           breakin_shadow[BOARDMAX],
104                                        int dummy);
105 
106 static struct persistent_cache reading_cache =
107@@ -172,7 +174,7 @@
108 
109 
110 static void
111-draw_active_area(char board[BOARDMAX], int apos)
112+draw_active_area(Intersection board[BOARDMAX], int apos)
113 {
114   int i, j, ii;
115   int c = ' ';
116@@ -219,7 +221,7 @@
117  * 0 otherwise.
118  */
119 static int
120-verify_stored_board(char p[BOARDMAX])
121+verify_stored_board(Intersection p[BOARDMAX])
122 {
123   int pos;
124   for (pos = BOARDMIN; pos < BOARDMAX; pos++) {
125@@ -467,7 +469,8 @@
126                       Hash_data *goal_hash,
127                       int result, int result2, int move, int move2,
128                       int certain, int node_limit,
129-                      int cost, const char goal[BOARDMAX], int goal_color)
130+                      int cost, const signed char goal[BOARDMAX],
131+                      int goal_color)
132 {
133   int r;
134   struct persistent_cache_entry *entry;
135@@ -621,7 +624,7 @@
136 
137 static void
138 compute_active_reading_area(struct persistent_cache_entry *entry,
139-                           const char goal[BOARDMAX], int dummy)
140+                           const signed char goal[BOARDMAX], int dummy)
141 {
142   signed char active[BOARDMAX];
143   int pos, r;
144@@ -822,7 +825,7 @@
145 store_persistent_connection_cache(enum routine_id routine,
146                                  int str1, int str2,
147                                  int result, int move, int tactical_nodes,
148-                                 char connection_shadow[BOARDMAX])
149+                                 signed char connection_shadow[BOARDMAX])
150 {
151   store_persistent_cache(&connection_cache, routine,
152                         str1, str2, NO_MOVE, EMPTY, NULL,
153@@ -836,7 +839,7 @@
154  */
155 static void
156 compute_active_connection_area(struct persistent_cache_entry *entry,
157-                              const char connection_shadow[BOARDMAX],
158+                              const signed char connection_shadow[BOARDMAX],
159                               int dummy)
160 {
161   int pos;
162@@ -985,7 +988,8 @@
163  */
164 static void
165 compute_active_breakin_area(struct persistent_cache_entry *entry,
166-                           const char breakin_shadow[BOARDMAX], int dummy)
167+                           const signed char breakin_shadow[BOARDMAX],
168+                           int dummy)
169 {
170   int pos;
171   int k, r;
172@@ -1127,7 +1131,7 @@
173  * some intersection to be active.
174  */
175 static void
176-compute_active_owl_type_area(const char goal[BOARDMAX], int goal_color,
177+compute_active_owl_type_area(const signed char goal[BOARDMAX], int goal_color,
178                             signed char active[BOARDMAX])
179 {
180   int k, r;
181@@ -1213,7 +1217,7 @@
182 
183 static void
184 compute_active_owl_area(struct persistent_cache_entry *entry,
185-                       const char goal[BOARDMAX], int goal_color)
186+                       const signed char goal[BOARDMAX], int goal_color)
187 {
188   int pos;
189   signed char active[BOARDMAX];
190@@ -1272,7 +1276,7 @@
191                              signed char goala[BOARDMAX],
192                              signed char goalb[BOARDMAX])
193 {
194-  char goal[BOARDMAX];
195+  signed char goal[BOARDMAX];
196   int pos;
197 
198   for (pos = BOARDMIN; pos < BOARDMAX; pos++)
199@@ -1287,7 +1291,7 @@
200 
201 static void
202 compute_active_semeai_area(struct persistent_cache_entry *entry,
203-                          const char goal[BOARDMAX], int dummy)
204+                          const signed char goal[BOARDMAX], int dummy)
205 {
206   int pos;
207   signed char active_b[BOARDMAX];
208@@ -1328,7 +1332,8 @@
209 /* Helper for the owl_hotspots() function below. */
210 static void
211 mark_dragon_hotspot_values(float values[BOARDMAX], int dr,
212-                          float contribution, char active_board[BOARDMAX])
213+                          float contribution,
214+                          Intersection active_board[BOARDMAX])
215 {
216   int pos;
217   int k;
218diff -u engine/utils.c engine/utils.c
219--- engine/utils.c      7 Oct 2005 07:21:31 -0000
220+++ engine/utils.c      7 Oct 2005 19:30:52 -0000
221@@ -1522,9 +1522,9 @@
222                       int *num_stones, int *stones,
223                       int *num_libs, int *libs, int maxlibs,
224                       int *num_adj, int *adjs, int liberty_cap,
225-                      char mx[BOARDMAX],
226-                      char ml[BOARDMAX],
227-                      char ma[BOARDMAX],
228+                      signed char mx[BOARDMAX],
229+                      signed char ml[BOARDMAX],
230+                      signed char ma[BOARDMAX],
231                       int do_add);
232 
233 void
234@@ -1658,9 +1658,9 @@
235   int num_my_stones;
236   int my_stones[MAX_BOARD * MAX_BOARD];
237   
238-  char mx[BOARDMAX]; /* stones */
239-  char ml[BOARDMAX]; /* liberties */
240-  char ma[BOARDMAX]; /* adjacent strings */
241+  signed char mx[BOARDMAX]; /* stones */
242+  signed char ml[BOARDMAX]; /* liberties */
243+  signed char ma[BOARDMAX]; /* adjacent strings */
244 
245   int k, l, r;
246   int color = board[str];
247@@ -1837,9 +1837,9 @@
248                       int *num_stones, int *stones,
249                       int *num_libs, int *libs, int maxlibs,
250                       int *num_adj, int *adjs, int liberty_cap,
251-                      char mx[BOARDMAX],
252-                      char ml[BOARDMAX],
253-                      char ma[BOARDMAX],
254+                      signed char mx[BOARDMAX],
255+                      signed char ml[BOARDMAX],
256+                      signed char ma[BOARDMAX],
257                       int do_add)
258 {
259   int num_my_libs;
260only in patch2:
261unchanged:
262--- engine/surround.c   12 Jun 2005 09:34:14 -0000      1.14
263+++ engine/surround.c   7 Oct 2005 19:30:52 -0000
264@@ -30,9 +30,10 @@
265 #include "gg_utils.h"
266 
267 /* Forward declarations */
268-static int goal_dist(int pos, char goal[BOARDMAX]);
269+static int goal_dist(int pos, signed char goal[BOARDMAX]);
270 static int compare_angles(const void *a, const void *b);
271-static void show_surround_map(char mf[BOARDMAX], char mn[BOARDMAX]);
272+static void show_surround_map(signed char mf[BOARDMAX],
273+                             signed char mn[BOARDMAX]);
274 
275 /* Globals */
276 static int gg;      /* stores the gravity center of the goal */
277@@ -103,8 +104,8 @@ compute_surroundings(int pos, int apos,
278   int stones = 0;
279   int found_some;
280   
281-  char mf[BOARDMAX]; /* friendly dragon  */
282-  char mn[BOARDMAX]; /* neighbor dragons */
283+  signed char mf[BOARDMAX]; /* friendly dragon  */
284+  signed char mn[BOARDMAX]; /* neighbor dragons */
285   int  sd[BOARDMAX]; /* distances to the goal */
286   
287   if (DRAGON2(pos).hostile_neighbors == 0)
288@@ -520,7 +521,7 @@ compute_surroundings(int pos, int apos,
289  */
290 
291 static int
292-goal_dist(int pos, char goal[BOARDMAX])
293+goal_dist(int pos, signed char goal[BOARDMAX])
294 {
295   int dist = 10000;
296   int ii;
297@@ -597,7 +598,7 @@ compare_angles(const void *a, const void
298 
299 
300 static void
301-show_surround_map(char mf[BOARDMAX], char mn[BOARDMAX])
302+show_surround_map(signed char mf[BOARDMAX], signed char mn[BOARDMAX])
303 {
304   int m, n;
305 
306only in patch2:
307unchanged:
308--- engine/optics.c     12 Jun 2005 09:34:14 -0000      1.100
309+++ engine/optics.c     7 Oct 2005 19:30:52 -0000
310@@ -89,7 +89,7 @@ static int white_domain[BOARDMAX];
311 
312 /* Used internally by mapping functions. */
313 static int map_size;
314-static char used_index[MAXEYE];
315+static signed char used_index[MAXEYE];
316 
317 
318 /*
319@@ -307,7 +307,7 @@ compute_primary_domains(int color, int d
320   int i, j, k;
321   int pos, pos2;
322   int own, enemy;
323-  char threshold[BOARDMAX];
324+  signed char threshold[BOARDMAX];
325   signed char influence[BOARDMAX];
326   int list[BOARDMAX];
327   int size = 0, lastchange = 0;
328@@ -798,7 +798,7 @@ compute_eyes_pessimistic(int pos, struct
329   int margins_adjacent_to_margin = 0;
330   int effective_eyesize;
331   int bulk_score = 0;
332-  char chainlinks[BOARDMAX];
333+  signed char chainlinks[BOARDMAX];
334 
335   /* Stones inside eyespace which do not coincide with a false eye or
336    * a halfeye.
337@@ -1229,7 +1229,7 @@ recognize_eye(int pos, int *attack_point
338   int eye_size = 0;
339   int num_marginals = 0;
340   int vpos[MAXEYE];
341-  char marginal[MAXEYE], edge[MAXEYE], neighbors[MAXEYE];
342+  signed char marginal[MAXEYE], edge[MAXEYE], neighbors[MAXEYE];
343   int graph;
344   int map[MAXEYE];
345   int best_score;
346only in patch2:
347unchanged:
348--- engine/boardlib.c   26 Sep 2005 14:50:14 -0000      1.8
349+++ engine/boardlib.c   7 Oct 2005 19:30:51 -0000
350@@ -46,7 +46,7 @@ int movenum;
351 int allow_suicide = 0;  /* allow opponent to make suicide moves */
352 
353 
354-char shadow[BOARDMAX];
355+signed char shadow[BOARDMAX];
356 
357 /* Hashing of positions. */
358 Hash_data board_hash;
359only in patch2:
360unchanged:
361--- engine/aftermath.c  12 Jun 2005 09:34:13 -0000      1.54
362+++ engine/aftermath.c  7 Oct 2005 19:30:51 -0000
363@@ -342,8 +342,8 @@ do_aftermath_genmove(int color,
364 
365     /* if we're about to play at distance 1, try to optimize the move. */
366     if (distance[move] == 2) {
367-      char mx[BOARDMAX];
368-      char mark = 0;
369+      signed char mx[BOARDMAX];
370+      signed char mark = 0;
371       memset(mx, 0, sizeof(mx));
372       best_score = 0;
373       best_scoring_move = move;