Author: Tijs van Dam
Date: 08:58:25 01/26/00
Go up one level in this thread
On January 26, 2000 at 11:29:51, Ulrich Tuerke wrote: >I can't find a "break" statement inside the "virtual loop". So, it seems to me >that the "loop" can be omitted. I guess that the optimizer will throw it away >anyway because of the constant 0. > >> As i said in my original post, some things were left out. The part "<... check if this is indeed a pv node ...>" contains breaks. This is the complete code: tree->next_status[ply].phase=FIRST_PHASE; if (tree->hash_move[ply]==0 && do_null && depth>=3*INCPLY) do { if (ply & 1) { if (alpha!=root_alpha || beta!=root_beta) break; } else { if (alpha!=-root_beta || beta!=-root_alpha) break; } tree->current_move[ply]=0; value=ABSearch(tree,alpha,beta,wtm,depth-2*INCPLY,ply,DO_NULL); if (abort_search || tree->stop) return(0); if (value <= alpha) { value=ABSearch(tree,-MATE,beta,wtm,depth-2*INCPLY,ply,DO_NULL); if (abort_search || tree->stop) return(0); } else if (value < beta) { if ((int) tree->pv[ply-1].pathl >= ply) tree->hash_move[ply]=tree->pv[ply-1].path[ply]; } else tree->hash_move[ply]=tree->current_move[ply]; tree->last[ply]=tree->last[ply-1]; tree->next_status[ply].phase=FIRST_PHASE; } while(0); >>> >>>Uli
This page took 0.01 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.