]> git.sesse.net Git - stockfish/commitdiff
Temporary revert "captures pruning" due to an assert
authorMarco Costalba <mcostalba@gmail.com>
Wed, 27 Jan 2010 16:57:04 +0000 (17:57 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Wed, 27 Jan 2010 16:57:04 +0000 (17:57 +0100)
In debug run with 2 threads it happens to be following
assert after some minutes:

assert(value > -VALUE_INFINITE && value < VALUE_INFINITE);

in search(), line 1615.

I am not able to understand why, anyhow reverted for the moment.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/search.cpp

index 097243a0c73b45daa354f14985cc8e1ad12828f4..e64b9a7d5fa2673c693d85d974673b5d48d49c4e 100644 (file)
@@ -1542,30 +1542,6 @@ namespace {
       // Update current move
       movesSearched[moveCount++] = ss[ply].currentMove = move;
 
-      // Futility pruning for captures
-      // FIXME: test disabling 'Futility pruning for captures'
-      // FIXME: test with 'newDepth < RazorDepth'
-      Color them = opposite_color(pos.side_to_move());
-
-      if (   !isCheck
-          && newDepth < SelectiveDepth
-          && !dangerous
-          && pos.move_is_capture(move)
-          && !pos.move_is_check(move, ci)
-          && !move_is_promotion(move)
-          && move != ttMove
-          && !move_is_ep(move)
-          && (pos.type_of_piece_on(move_to(move)) != PAWN || !pos.pawn_is_passed(them, move_to(move)))) // Do not prune passed pawn captures
-      {
-          int preFutilityValueMargin = 0;
-
-          if (newDepth >= OnePly)
-              preFutilityValueMargin = 112 * bitScanReverse32(int(newDepth) * int(newDepth) / 2);
-
-          if (ss[ply].eval + pos.endgame_value_of_piece_on(move_to(move)) + preFutilityValueMargin + ei.futilityMargin + 90 < beta)
-              continue;
-      }
-
       // Futility pruning
       if (   !isCheck
           && !dangerous