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

Unify Internal iterative deepening

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2010-05-08 12:58:10 +01:00
parent b4870595a5
commit b763b40101

View file

@ -179,8 +179,7 @@ namespace {
// Step 9. Internal iterative deepening // Step 9. Internal iterative deepening
// Minimum depth for use of internal iterative deepening // Minimum depth for use of internal iterative deepening
const Depth IIDDepthAtPVNodes = 5 * OnePly; const Depth IIDDepth[2] = { 8 * OnePly /* non-PV */, 5 * OnePly /* PV */};
const Depth IIDDepthAtNonPVNodes = 8 * OnePly;
// At Non-PV nodes we do an internal iterative deepening search // At Non-PV nodes we do an internal iterative deepening search
// when the static evaluation is at most IIDMargin below beta. // when the static evaluation is at most IIDMargin below beta.
@ -1197,23 +1196,12 @@ namespace {
} }
// Step 9. Internal iterative deepening // Step 9. Internal iterative deepening
// We have different rules for PV nodes and non-pv nodes if ( depth >= IIDDepth[PvNode]
if ( PvNode
&& depth >= IIDDepthAtPVNodes
&& ttMove == MOVE_NONE)
{
search<PV>(pos, ss, alpha, beta, depth-2*OnePly, ply, false, threadID);
ttMove = ss[ply].pv[ply];
tte = TT.retrieve(posKey);
}
if ( !PvNode
&& depth >= IIDDepthAtNonPVNodes
&& ttMove == MOVE_NONE && ttMove == MOVE_NONE
&& !isCheck && (PvNode || (!isCheck && ss[ply].eval >= beta - IIDMargin)))
&& ss[ply].eval >= beta - IIDMargin)
{ {
search<NonPV>(pos, ss, alpha, beta, depth/2, ply, false, threadID); Depth d = (PvNode ? depth - 2 * OnePly : depth / 2);
search<PvNode>(pos, ss, alpha, beta, d, ply, false, threadID);
ttMove = ss[ply].pv[ply]; ttMove = ss[ply].pv[ply];
tte = TT.retrieve(posKey); tte = TT.retrieve(posKey);
} }