Moderator: Andres Valverde
///////////// 2.2 'comp.c' /////////////
/* Probe the hashtable for the suggested best move */
Entry = HashProbe(B);
if (Entry) {
BestMove = Entry->move;
score = (int)Entry->score;
}
else {BestMove = NO_MOVE;fprintf(stdout,"Could Not Find First Ply Hash Entry!\n");}
if (BestMove == NO_MOVE) {fprintf(stderr,"No Best Move!\n");while (1);} <---- problems start here ?
/* If we aborted the search before any score was returned, then reset to the
* previous ply's move score */
if (AbortFlag && BestMove == NO_MOVE) score = PreviousScore;
/* Otherwise store what we've found */
else {
PreviousScore = score;
Previous = BestMove;
}
BestMoveRet = Previous;
/* Go to the next depth in our iterative deepening loop */
depth++;
////////////////////////
And here's the fix in 2.3 comp.c
///////// 2.3 'comp.c' /////////////////
/* Probe the hashtable for the suggested best move */
Entry = HashProbe(B);
if (Entry) {
BestMove = Entry->move;
score = (int)Entry->score;
}
else {BestMove = NO_MOVE;fprintf(stdout,"Could Not Find First Ply Hash Entry!\n");}
if (BestMove == NO_MOVE) {fprintf(stderr,"No Best Move! Assigning previous\n");BestMove = Previous;} <---- Fix!
/* If we aborted the search before any score was returned, then reset to the
* previous ply's move score */
if (AbortFlag && BestMove == NO_MOVE) score = PreviousScore;
/* Otherwise store what we've found */
else {
PreviousScore = score;
Previous = BestMove;
}
BestMoveRet = Previous;
/* Go to the next depth in our iterative deepening loop */
depth++;
//////////////////////////////////
Return to Winboard and related Topics
Users browsing this forum: No registered users and 32 guests