summaryrefslogtreecommitdiff
path: root/src/split.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/split.c')
-rwxr-xr-xsrc/split.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/split.c b/src/split.c
index 17b77f6..8bc4e60 100755
--- a/src/split.c
+++ b/src/split.c
@@ -604,6 +604,9 @@ Return value:
g_SplitInfo[u].sCounters.tree.u64TotalNodeCount = 0;
g_SplitInfo[u].sCounters.tree.u64BetaCutoffs = 0;
g_SplitInfo[u].sCounters.tree.u64BetaCutoffsOnFirstMove = 0;
+ g_SplitInfo[u].sCounters.tree.u64LeftoverTries = 0;
+ g_SplitInfo[u].sCounters.tree.u64LeftoverAlpha = 0;
+ g_SplitInfo[u].sCounters.tree.u64LeftoverFH = 0;
g_SplitInfo[u].PV[0] = NULLMOVE;
//
@@ -628,9 +631,10 @@ Return value:
// work for naught. We also want to know as soon as
// possible so that we can vacate this split point,
// free up a worker thread and get back to the main
- // search. So forget about the leftover-selection
- // budget (NumLeftoverMovesToSelect in search.c) here
- // and sort the whole list of moves from best..worst.
+ // search. So sort the whole list of moves from
+ // best..worst (search.c's main loop does the same
+ // unconditionally now too -- see its retired
+ // NumLeftoverMovesToSelect budget comment).
//
SelectBestWithHistory(ctx, v);
ctx->sMoveStack.mvf[v].mv.bvFlags |=
@@ -761,6 +765,12 @@ Return value:
g_SplitInfo[u].sCounters.tree.u64BetaCutoffs;
ctx->sCounters.tree.u64BetaCutoffsOnFirstMove =
g_SplitInfo[u].sCounters.tree.u64BetaCutoffsOnFirstMove;
+ ctx->sCounters.tree.u64LeftoverTries =
+ g_SplitInfo[u].sCounters.tree.u64LeftoverTries;
+ ctx->sCounters.tree.u64LeftoverAlpha =
+ g_SplitInfo[u].sCounters.tree.u64LeftoverAlpha;
+ ctx->sCounters.tree.u64LeftoverFH =
+ g_SplitInfo[u].sCounters.tree.u64LeftoverFH;
#endif
//
// Pop off the split info ptr from the stack in the thread's
@@ -932,8 +942,14 @@ Return value:
ctx->sCounters.tree.u64TotalNodeCount;
g_SplitInfo[u].sCounters.tree.u64BetaCutoffs +=
ctx->sCounters.tree.u64BetaCutoffs;
- g_SplitInfo[u].sCounters.tree.u64BetaCutoffsOnFirstMove +=
+ g_SplitInfo[u].sCounters.tree.u64BetaCutoffsOnFirstMove +=
ctx->sCounters.tree.u64BetaCutoffsOnFirstMove;
+ g_SplitInfo[u].sCounters.tree.u64LeftoverTries +=
+ ctx->sCounters.tree.u64LeftoverTries;
+ g_SplitInfo[u].sCounters.tree.u64LeftoverAlpha +=
+ ctx->sCounters.tree.u64LeftoverAlpha;
+ g_SplitInfo[u].sCounters.tree.u64LeftoverFH +=
+ ctx->sCounters.tree.u64LeftoverFH;
//
// TODO: Any other counters we care about?