From 307909bed8e86cc90e03ae8b66884d7b73beb814 Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Wed, 27 Jan 2010 17:57:04 +0100 Subject: [PATCH] Temporary revert "captures pruning" due to an assert 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 --- src/search.cpp | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index 097243a0..e64b9a7d 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -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 -- 2.39.2