Permalink
Browse files

Razor at depth one, but do razoring only when not in check

This way razoring is always based on exact evaluation and
follows simple formula.

Joona's test results are positive:

32-bit 1CPU:

Mod - Orig: 1073 - 993

64-bit 4CPU:

Mod - Orig: 759 - 721

Functionality Signature: 11448962

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
  • Loading branch information...
1 parent 942c18e commit d4575941974ade5135971b87ff663ef4ff000de9 @zamar zamar committed with Jan 14, 2010
Showing with 2 additions and 1 deletion.
  1. +2 −1 src/search.cpp
View
@@ -1447,8 +1447,9 @@ namespace {
}
// Null move search not allowed, try razoring
else if ( !value_is_mate(beta)
+ && !isCheck
&& depth < RazorDepth
- && staticValue < beta - (depth > OnePly ? NullMoveMargin + 16 * depth : 2*NullMoveMargin)
+ && staticValue < beta - (NullMoveMargin + 16 * depth)
&& ss[ply - 1].currentMove != MOVE_NULL
&& ttMove == MOVE_NONE
&& !pos.has_pawn_on_7th(pos.side_to_move()))

0 comments on commit d457594

Please sign in to comment.