X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gnushogi%2Fsearch.c;h=1c4bbf7b994ccedac77b212f99074f7beb3fc49f;hb=HEAD;hp=35c968afae21a08e3f7947205a1e2a5ffed0a3ba;hpb=d23b84fee73518dfb6b281d1eaedbe4fc4aa34b2;p=gnushogi.git diff --git a/gnushogi/search.c b/gnushogi/search.c index 35c968a..1c4bbf7 100644 --- a/gnushogi/search.c +++ b/gnushogi/search.c @@ -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 * @@ -180,7 +181,7 @@ SelectMove(short side, SelectMove_mode iop) #ifdef QUIETBACKGROUND if (!background) #endif /* QUIETBACKGROUND */ - ShowResponseTime(); + dsp->ShowResponseTime(); ExtraTime = 0; @@ -189,12 +190,12 @@ SelectMove(short side, SelectMove_mode iop) #ifdef QUIETBACKGROUND if (!background) #endif /* QUIETBACKGROUND */ - ShowSidetoMove(); + dsp->ShowSidetoMove(); #ifdef QUIETBACKGROUND if (!background) #endif /* QUIETBACKGROUND */ - SearchStartStuff(side); + dsp->SearchStartStuff(side); #ifdef HISTORY array_zero(history, sizeof_history); @@ -258,7 +259,7 @@ SelectMove(short side, SelectMove_mode iop) if (flag.regularstart && Book) { - flag.timeout = bookflag = OpeningBook(&hint, side); + flag.timeout = bookflag = OpeningBook(&hint); if (TCflag) ResponseTime += ResponseTime; @@ -304,7 +305,7 @@ SelectMove(short side, SelectMove_mode iop) # ifdef QUIETBACKGROUND if (!background) #endif /* QUIETBACKGROUND */ - ShowDepth(' '); + dsp->ShowDepth(' '); /* search at this level returns score of PV */ score = search(side, 1, Sdepth, alpha, beta, PrVar, &rpt); @@ -320,7 +321,7 @@ SelectMove(short side, SelectMove_mode iop) #ifdef QUIETBACKGROUND if (!background) #endif /* QUIETBACKGROUND */ - ShowDepth('-'); + dsp->ShowDepth('-'); if (TCflag && TCcount < MAXTCCOUNTR) { @@ -342,7 +343,7 @@ SelectMove(short side, SelectMove_mode iop) #ifdef QUIETBACKGROUND if (!background) #endif /* QUIETBACKGROUND */ - ShowDepth('+'); + dsp->ShowDepth('+'); score = search(side, 1, Sdepth, -(SCORE_LIMIT + 999), (SCORE_LIMIT + 999), PrVar, &rpt); @@ -395,7 +396,7 @@ SelectMove(short side, SelectMove_mode iop) #ifdef QUIETBACKGROUND if (!background) #endif /* QUIETBACKGROUND */ - ShowResults(score, PrVar, '.'); + dsp->ShowResults(score, PrVar, '.'); } /********************** end of main loop ***************************/ @@ -407,7 +408,7 @@ SelectMove(short side, SelectMove_mode iop) if (rpt >= 3) { root->flags |= draw; - DRAW = CP[101]; /* Repetition */ + DRAW = DRAW_REPETITION; } else { @@ -419,7 +420,7 @@ SelectMove(short side, SelectMove_mode iop) if (GameCnt == MAXMOVES) { root->flags |= draw; - DRAW = CP[80]; /* Max Moves */ + DRAW = DRAW_MAXMOVES; } } @@ -452,7 +453,7 @@ SelectMove(short side, SelectMove_mode iop) ElapsedTime(COMPUTE_AND_INIT_MODE); /* update time control info */ - OutputMove(); + dsp->OutputMove(); /* if mate set flag */ if ((score == -(SCORE_LIMIT + 999) || score == (SCORE_LIMIT + 998))) @@ -580,7 +581,7 @@ search(short side, #ifdef QUIETBACKGROUND if (!background) #endif - ShowResponseTime(); + dsp->ShowResponseTime(); } else if (!TCflag && flag.musttimeout && Sdepth > MINDEPTH) { @@ -710,7 +711,7 @@ search(short side, && (ProbeFTable(side, depth, ply, &alpha, &beta, &score) == true)) { - PutInTTable(side, score, depth, ply, alpha, beta, PV); + PutInTTable(side, score, depth, ply, beta, PV); bstline[ply] = PV; bstline[ply + 1] = 0; @@ -861,7 +862,6 @@ search(short side, nxtline[ply + 1] = 0; /* if at top level */ -#if !defined NOPOST if (ply == 1) { /* at the top update search status */ @@ -870,10 +870,9 @@ search(short side, #ifdef QUIETBACKGROUND if (!background) #endif /* QUIETBACKGROUND */ - ShowCurrentMove(pnt, node->f, node->t); + dsp->ShowCurrentMove(pnt, node->f, node->t); } } -#endif if (!(node->flags & exact)) { @@ -911,7 +910,7 @@ search(short side, && !ChkFlag[ply]))) { node->flags |= (draw | exact); - DRAW = CP[58]; /* Draw */ + DRAW = DRAW_JUSTDRAW; node->score = ((side == computer) ? contempt : -contempt); } @@ -984,15 +983,15 @@ search(short side, { if (best > beta) { - ShowResults(best, bstline, '+'); + dsp->ShowResults(best, bstline, '+'); } else if (best < alpha) { - ShowResults(best, bstline, '-'); + dsp->ShowResults(best, bstline, '-'); } else { - ShowResults (best, bstline, '&'); + dsp->ShowResults(best, bstline, '&'); } } #ifdef QUIETBACKGROUND @@ -1025,13 +1024,13 @@ search(short side, { # ifdef HASHFILE /* MCV: warning: this confuses the formatter. */ if (use_ttable - && PutInTTable(side, best, depth, ply, alpha, beta, mv) + && PutInTTable(side, best, depth, ply, beta, mv) && hashfile && (depth > HashDepth) && (GameCnt < HashMoveLimit)) # else if (use_ttable - && PutInTTable(side, best, depth, ply, alpha, beta, mv)) + && PutInTTable(side, best, depth, ply, beta, mv)) # endif { PutInFTable(side, best, depth, ply, @@ -1116,8 +1115,8 @@ UpdatePieceList(short side, short sq, UpdatePieceList_mode iop) /* Make or Unmake drop move. */ -void -drop(short side, short piece, short f, short t, short iop) +static void +drop(short side, short piece, short t, short iop) { if (iop == 1) { @@ -1285,7 +1284,7 @@ MakeMove(short side, *tempst = svalue[t]; #endif - (void)drop(side, g->fpiece, f, t, 1); + (void)drop(side, g->fpiece, t, 1); } else { @@ -1413,7 +1412,7 @@ UnmakeMove(short side, if (node->flags & dropmask) { - (void)drop(side, (node->flags & pmask), f, t, 2); + (void)drop(side, (node->flags & pmask), t, 2); #if !defined SAVE_SVALUE svalue[t] = *tempst;