summaryrefslogtreecommitdiff
path: root/src/root.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/root.c')
-rwxr-xr-xsrc/root.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/root.c b/src/root.c
index 8d1adf8..a83249c 100755
--- a/src/root.c
+++ b/src/root.c
@@ -333,6 +333,17 @@ Return value:
ctx->sMoveStack.uUnblockedKeyValue[u] =
ctx->sMoveStack.uUnblockedKeyValue[u-1] + 0x28F5C28;
}
+
+ //
+ // A zeroed COOR (0x00) is on-board (a8), not "none" -- unlike
+ // MOVE's uMove==0 sentinel, COOR needs an explicit reset to
+ // ILLEGAL_COOR so enprise/trapped hint slots start out invalid.
+ //
+ for (u = 0; u < MAX_PLY_PER_SEARCH; u++)
+ {
+ ctx->cEnprise[u][0] = ctx->cEnprise[u][1] = ILLEGAL_COOR;
+ ctx->cTrapped[u] = ILLEGAL_COOR;
+ }
}
@@ -1264,6 +1275,11 @@ Return value:
if (g_MoveTimer.bvFlags & TIMER_STOPPING) break;
}
g_Options.u64NodesSearched = ctx->sCounters.tree.u64TotalNodeCount;
+ g_Options.u64BetaCutoffs = ctx->sCounters.tree.u64BetaCutoffs;
+ g_Options.u64BetaCutoffsOnFirstMove =
+ ctx->sCounters.tree.u64BetaCutoffsOnFirstMove;
+ g_Options.u64CounterMoveTries = ctx->sCounters.tree.u64CounterMoveTries;
+ g_Options.u64CounterMoveHits = ctx->sCounters.tree.u64CounterMoveHits;
g_MoveTimer.dEndTime = SystemTimeStamp();
//