[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnugo-devel] testing the 1-D boardcode: BOARD_OFFSET
From: |
Teun Burgers |
Subject: |
[gnugo-devel] testing the 1-D boardcode: BOARD_OFFSET |
Date: |
Sun, 28 Apr 2002 15:28:27 +0200 |
If all goes well, the 1-D board should be handled through
the macros in liberty.h only. The idea behind this patch
is that handling of the 1-D board can be tested by
introducing a BOARD_OFFSET in liberty.h. BOARD_OFFSET=0
gives the standard situation. BOARD_OFFSET>0 can be
used for testing.
Currently Gnu Go crashes in the first reading test when
BOARD_OFFSET = 1.
- introduce BOARD_OFFSET in liberty.h
Teun
Index: liberty.h
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/liberty.h,v
retrieving revision 1.96
diff -u -r1.96 liberty.h
--- liberty.h 12 Apr 2002 14:23:54 -0000 1.96
+++ liberty.h 28 Apr 2002 13:22:37 -0000
@@ -85,14 +85,35 @@
* Note that POS(-1, -1) == 0
* DELTA() is defined so that POS(i+di, j+dj) = POS(i, j) + DELTA(di, dj).
*/
+#define BOARD_OFFSET 0
+#if (BOARD_OFFSET == 0)
+
+/* the default: BOARD_OFFSET = 0 */
+
#define BOARDSIZE ((MAX_BOARD + 2) * (MAX_BOARD + 1) + 1)
#define BOARDMIN (MAX_BOARD + 2)
#define BOARDMAX (MAX_BOARD + 1) * (MAX_BOARD + 1)
#define POS(i, j) ((MAX_BOARD + 2) + (i) * (MAX_BOARD + 1) + (j))
-#define DELTA(di, dj) ((di) * (MAX_BOARD + 1) + (dj))
#define I(pos) ((pos) / (MAX_BOARD + 1) - 1)
#define J(pos) ((pos) % (MAX_BOARD + 1) - 1)
#define PASS_MOVE 0
+
+#else
+
+/* for testing the 1_D board: BOARD_OFFSET > 0 */
+
+#define BOARDSIZE ((MAX_BOARD + 2) * (MAX_BOARD + 1) + 1 + BOARD_OFFSET)
+#define BOARDMIN (MAX_BOARD + 2 + BOARD_OFFSET)
+#define BOARDMAX ((MAX_BOARD + 1) * (MAX_BOARD + 1) + BOARD_OFFSET)
+#define POS(i, j) ((MAX_BOARD + 2) + (i) * (MAX_BOARD + 1) + (j) + \
+ BOARD_OFFSET)
+#define I(pos) (((pos) - BOARD_OFFSET) / (MAX_BOARD + 1) - 1)
+#define J(pos) (((pos) - BOARD_OFFSET) % (MAX_BOARD + 1) - 1)
+#define PASS_MOVE BOARD_OFFSET
+
+#endif
+
+#define DELTA(di, dj) ((di) * (MAX_BOARD + 1) + (dj))
#define NO_MOVE PASS_MOVE
#define NS (MAX_BOARD + 1)
#define WE 1
- [gnugo-devel] testing the 1-D boardcode: BOARD_OFFSET,
Teun Burgers <=
- Re: [gnugo-devel] testing the 1-D boardcode: BOARD_OFFSET, Daniel Bump, 2002/04/28
- Re: [gnugo-devel] testing the 1-D boardcode: BOARD_OFFSET, Arend Bayer, 2002/04/28
- Re: [gnugo-devel] testing the 1-D boardcode: BOARD_OFFSET, Gunnar Farneback, 2002/04/28
- [gnugo-devel] Re: testing the 1-D boardcode: BOARD_OFFSET, Teun Burgers, 2002/04/29
- Re: [gnugo-devel] Re: testing the 1-D boardcode: BOARD_OFFSET, bump, 2002/04/29
- Re: [gnugo-devel] Re: testing the 1-D boardcode: BOARD_OFFSET, Heikki Levanto, 2002/04/29
- Re: [gnugo-devel] Re: testing the 1-D boardcode: BOARD_OFFSET, Gunnar Farneback, 2002/04/29