summaryrefslogtreecommitdiff
path: root/src/search.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/search.c')
-rwxr-xr-xsrc/search.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/search.c b/src/search.c
index e0339cf..eb931bc 100755
--- a/src/search.c
+++ b/src/search.c
@@ -792,6 +792,8 @@ Return value:
FALSE if it can be skipped
**/
+#define QSEARCH_CONSIDER_MARGIN (120)
+
static FLAG INLINE
_ShouldWeConsiderThisMove(IN SEARCHER_THREAD_CONTEXT *ctx,
IN ULONG uMoveNum,
@@ -827,6 +829,7 @@ _ShouldWeConsiderThisMove(IN SEARCHER_THREAD_CONTEXT *ctx,
{
i &= STRIP_OFF_FLAGS;
ASSERT(i >= 0);
+ i -= MOVE_SCORE_ORDERING_BIAS(mv);
if (mv.pCaptured)
{
// If there are very few pieces left on the board,
@@ -859,7 +862,7 @@ _ShouldWeConsiderThisMove(IN SEARCHER_THREAD_CONTEXT *ctx,
// penalty can make them look "futile" sometimes.
if ((PIECE_VALUE(mv.pCaptured) ==
PIECE_VALUE(mvLast.pCaptured)) &&
- (i + 200 > iFutility))
+ (i + 200 + QSEARCH_CONSIDER_MARGIN > iFutility))
{
return(TRUE);
}
@@ -867,7 +870,7 @@ _ShouldWeConsiderThisMove(IN SEARCHER_THREAD_CONTEXT *ctx,
// Otherwise, even if a move is even/winning, make sure it
// brings the score up to at least somewhere near alpha.
- if (i > iFutility)
+ if (i + QSEARCH_CONSIDER_MARGIN > iFutility)
{
return(TRUE);
}