@@ -354,28 +354,29 @@ void search::search(const chess::Board &board,
354354
355355 // Aspiration windows
356356 if (i >= 3 && prevScore != VALUE_NONE ) {
357- Value delta = Value (17 );
358- Value alpha = std::max (prevScore - delta, -VALUE_INFINITE );
359- Value beta = std::min (prevScore + delta, VALUE_INFINITE );
360-
361- score_ = doSearch (board_, i, alpha, beta, session);
362-
363- if (score_ != VALUE_NONE ) {
364- if (score_ <= alpha) {
365- alpha = -VALUE_INFINITE ;
366- score_ = doSearch (board_, i, alpha, beta, session);
367- }
368- if (score_ >= beta && score_ != VALUE_NONE ) {
369- beta = VALUE_INFINITE ;
370- score_ = doSearch (board_, i, alpha, beta, session);
371- }
372- if ((score_ <= alpha || score_ >= beta) && score_ != VALUE_NONE )
373- score_ = doSearch (board_, i, -VALUE_INFINITE , VALUE_INFINITE , session);
374- } else {
375- score_ = doSearch (board_, i, -VALUE_INFINITE , VALUE_INFINITE , session);
357+ Value delta = Value (17 );
358+ Value alpha = std::max (prevScore - delta, -VALUE_INFINITE );
359+ Value beta = std::min (prevScore + delta, VALUE_INFINITE );
360+
361+ score_ = doSearch (board_, i, alpha, beta, session);
362+
363+ if (score_ != VALUE_NONE ) {
364+ if (score_ <= alpha) {
365+ alpha = -VALUE_INFINITE ;
366+ score_ = doSearch (board_, i, alpha, beta, session);
376367 }
377- } else {
368+ if (score_ >= beta && score_ != VALUE_NONE ) {
369+ beta = VALUE_INFINITE ;
370+ score_ = doSearch (board_, i, alpha, beta, session);
371+ }
372+ if ((score_ <= alpha || score_ >= beta) && score_ != VALUE_NONE )
373+ score_ =
374+ doSearch (board_, i, -VALUE_INFINITE , VALUE_INFINITE , session);
375+ } else {
378376 score_ = doSearch (board_, i, -VALUE_INFINITE , VALUE_INFINITE , session);
377+ }
378+ } else {
379+ score_ = doSearch (board_, i, -VALUE_INFINITE , VALUE_INFINITE , session);
379380 }
380381 prevScore = score_;
381382 if (session.tm .elapsed () >= session.tm .optimum () ||
0 commit comments