Remove XShogi from the source tree
[gnushogi.git] / gnushogi / search.c
index 7a89ef7..84850e7 100644 (file)
@@ -4,6 +4,7 @@
  * ----------------------------------------------------------------------
  * Copyright (c) 1993, 1994, 1995 Matthias Mutz
  * Copyright (c) 1999 Michael Vanier and the Free Software Foundation
+ * Copyright (c) 2008, 2013, 2014 Yann Dirson and the Free Software Foundation
  *
  * GNU SHOGI is based on GNU CHESS
  *
@@ -14,8 +15,8 @@
  *
  * GNU Shogi 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 1, or (at your option) any
- * later version.
+ * Free Software Foundation; either version 3 of the License,
+ * or (at your option) any later version.
  *
  * GNU Shogi is distributed in the hope that it will be useful, but WITHOUT
  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  * for more details.
  *
  * You should have received a copy of the GNU General Public License along
- * with GNU Shogi; see the file COPYING.  If not, write to the Free
- * Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * with GNU Shogi; see the file COPYING. If not, see
+ * <http://www.gnu.org/licenses/>.
  * ----------------------------------------------------------------------
  *
  */
 
 #include "gnushogi.h"
 
-#if !defined OLDTIME && defined HAVE_GETTIMEOFDAY
-double pow();
-#endif
-
 short background = 0;
 static short DepthBeyond;
 unsigned short PrVar[MAXDEPTH];
@@ -176,6 +173,7 @@ SelectMove(short side, SelectMove_mode iop)
     }
     else
     {
+        background = false; /* [HGM] with ponder on we did not switch back to foreground mode??? */
         player = side;
         SetResponseTime(side);
     }
@@ -410,7 +408,7 @@ SelectMove(short side, SelectMove_mode iop)
     if (rpt >= 3)
     {
         root->flags |= draw;
-        DRAW = CP[101];     /* Repetition */
+        DRAW = DRAW_REPETITION;
     }
     else
     {
@@ -422,7 +420,7 @@ SelectMove(short side, SelectMove_mode iop)
         if (GameCnt == MAXMOVES)
         {
             root->flags |= draw;
-            DRAW = CP[80];      /* Max Moves */
+            DRAW = DRAW_MAXMOVES;
         }
     }
 
@@ -884,7 +882,7 @@ search(short side,
 
             MakeMove(side, node, &tempb, &tempc, &tempsf,
                      &tempst, &INCscore);
-            CptrFlag[ply] = (node->flags & capture);
+            CptrFlag[ply] = ((node->flags & capture) != 0);
             TesujiFlag[ply] = (node->flags & tesuji)
                 && (node->flags & dropmask);
             Tscore[ply] = node->score;
@@ -914,7 +912,7 @@ search(short side,
                      && !ChkFlag[ply])))
             {
                 node->flags |= (draw | exact);
-                DRAW = CP[58];  /* Draw */
+                DRAW = DRAW_JUSTDRAW;
                 node->score = ((side == computer) ? contempt : -contempt);
             }