1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 16:53:09 +00:00

Try razoring only for depth > OnePly

Because razoring verification after qsearch() cuts more
then 40% of candidates, do not waste a costly qsearch for
nodes at depth one that will be probably discarded anyway
by futility.

Also tight razoring conditions to keep dangerous false
negatives below 0,05%. Still not clear if it is enough.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2008-12-24 11:27:07 +01:00
parent 2feb9d5100
commit 8cd5cb930d

View file

@ -1239,10 +1239,13 @@ namespace {
// Null move search not allowed, try razoring
else if ( !value_is_mate(beta)
&& approximateEval < beta - RazorMargin
&& depth < RazorDepth)
&& depth < RazorDepth
&& depth > OnePly
&& ttMove == MOVE_NONE
&& !pos.has_pawn_on_7th(pos.side_to_move()))
{
Value v = qsearch(pos, ss, beta-1, beta, Depth(0), ply, threadID);
if (v < beta - RazorMargin / 2)
if (v < beta - RazorMargin / 2 - int(depth - OnePly) * RazorMargin / 8)
return v;
}