summaryrefslogtreecommitdiff
path: root/src/generate.c
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2026-08-26 08:26:19 -0700
committerScott Gasch <[email protected]>2026-08-26 08:26:19 -0700
commit01f5b71fd484801f7b06df3bfb0156f5bb69fef7 (patch)
tree1fb03c6bd06c69f7a077301b20f000bb154e721c /src/generate.c
parentdf0135e11e9ea3dd0acab94fdf437451ef7e522b (diff)
Don't [re-]consult the SEE when generator already just did so.
Diffstat (limited to 'src/generate.c')
-rwxr-xr-xsrc/generate.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/generate.c b/src/generate.c
index f1ebab8..7d7778f 100755
--- a/src/generate.c
+++ b/src/generate.c
@@ -2522,6 +2522,7 @@ Return value:
//
// Captures and promotions, use SEE
//
+ pStack->mvf[u].bvFlags &= ~(MVF_SEE_KNOWN | MVF_SEE_NONNEGATIVE);
if (IS_CAPTURE_OR_PROMOTION(mv))
{
ASSERT((mv.pCaptured) || (mv.pPromoted));
@@ -2530,6 +2531,8 @@ Return value:
if ((s <= 0) || mv.pPromoted)
{
s = SEE(pos, mv);
+ pStack->mvf[u].bvFlags |= MVF_SEE_KNOWN |
+ ((s >= 0) ? MVF_SEE_NONNEGATIVE : 0);
}
if (s >= 0)
@@ -2568,7 +2571,7 @@ Return value:
s |= (IS_SAME_MOVE(sKillers[1].mv, mv) * sKillers[1].uBonus);
s |= (IS_SAME_MOVE(sKillers[2].mv, mv) * sKillers[2].uBonus);
s |= (IS_SAME_MOVE(sKillers[3].mv, mv) * sKillers[3].uBonus);
- s |= ((GOOD_MOVE + PIECE_VALUE(mv.pMoved) / 2) *
+ s |= ((GOOD_MOVE + PIECE_VALUE(mv.pMoved) / 2) *
(mv.cFrom == cEnprise));
ASSERT(s >= 0);
}
@@ -2683,6 +2686,7 @@ Return value:
//
// Captures and promotions, use SEE
//
+ pStack->mvf[u].bvFlags &= ~(MVF_SEE_KNOWN | MVF_SEE_NONNEGATIVE);
if (IS_CAPTURE_OR_PROMOTION(mv))
{
ASSERT((mv.pCaptured) || (mv.pPromoted));
@@ -2691,6 +2695,8 @@ Return value:
if ((s <= 0) || mv.pPromoted)
{
s = SEE(pos, mv);
+ pStack->mvf[u].bvFlags |= MVF_SEE_KNOWN |
+ ((s >= 0) ? MVF_SEE_NONNEGATIVE : 0);
}
if (s > 0)