Fix bug in PST initialization
authorH.G. Muller <h.g.muller@hccnet.nl>
Fri, 18 Jan 2013 16:02:17 +0000 (17:02 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Fri, 18 Jan 2013 16:02:17 +0000 (17:02 +0100)
The null table was not explicitly initialized, and was contaminated by
earlier initialization with another board size.

hachu.c

diff --git a/hachu.c b/hachu.c
index 2af2697..ac3ed99 100644 (file)
--- a/hachu.c
+++ b/hachu.c
@@ -789,7 +789,8 @@ Init (int var)
 \r
   // piece-square tables\r
   for(i=0; i<BH; i++) for(j=0; j<BH; j++) {\r
-    int s = BW*i + j, d = BH*(BH-2) - (2*i - BH + 1)*(2*i - BH + 1) - (2*j - BH + 1)*(2*j - BH + 1);\r
+    int s = BW*i + j, d = BH*(BH-2) - abs(2*i - BH + 1)*(BH-1) - (2*j - BH + 1)*(2*j - BH + 1);\r
+    PST[s] = 0;\r
     PST[BH+s] = d/4 - (i == 0 || i == BH-1 ? 15 : 0) - (j == 0 || j == BH-1 ? 15 : 0);\r
     PST[BH*BW+s] = d/6;\r
     PST[BH*BW+BH+s] = d/12;\r