From b95ba7b37ea278837c83cb65c1b7ad0e71e8d9f2 Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Wed, 27 Jan 2010 11:49:03 +0100 Subject: [PATCH] Added some FIXME to track needed tests This avoid us to forget some very needed tests now that futility has changed in a whole big chunk we need to fine tuning every splitted change. No functional change. Signed-off-by: Marco Costalba --- src/search.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index 2fece7ce..097243a0 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1411,9 +1411,14 @@ namespace { update_gains(pos, ss[ply - 1].currentMove, ss[ply - 1].eval, ss[ply].eval); } - // Post futility pruning - if (depth < SelectiveDepth && staticValue - PostFutilityValueMargin >= beta) - return (staticValue - PostFutilityValueMargin); + // Do a "stand pat". If we are above beta by a good margin then + // return immediately. + // FIXME: test with added condition 'allowNullmove || depth <= OnePly' and !value_is_mate(beta) + // FIXME: test with modified condition 'depth < RazorDepth' + if ( !isCheck + && depth < SelectiveDepth + && staticValue - PostFutilityValueMargin >= beta) + return staticValue - PostFutilityValueMargin; // Null move search if ( allowNullmove @@ -1538,6 +1543,8 @@ namespace { 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 @@ -1559,7 +1566,6 @@ namespace { continue; } - // Futility pruning if ( !isCheck && !dangerous -- 2.39.2