summaryrefslogtreecommitdiff
path: root/src/chess.h
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2026-08-30 18:51:38 -0700
committerScott Gasch <[email protected]>2026-08-30 18:51:38 -0700
commitdbf71219abeb51d386b0f7294f1664f2906d2b82 (patch)
tree77dc53e1cb3f223ee04a45130b559b08c91991cc /src/chess.h
parentfd1460b2c135f6cef502fd167d1df0edf223e312 (diff)
Plumb iImprovement into LMR and futiltiy and parallel search.
Fix a bug (iEval) in HelpSearch This commit changes the heuristics for: nullmove pruning, LMR, and EFP slightly.
Diffstat (limited to 'src/chess.h')
-rwxr-xr-xsrc/chess.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/chess.h b/src/chess.h
index 367100f..8a1185a 100755
--- a/src/chess.h
+++ b/src/chess.h
@@ -935,6 +935,8 @@ typedef struct _SPLIT_INFO
INT iPositionExtend; // positional extension
SCORE iAlpha; // original alpha at split
SCORE iBeta; // beta at split
+ SCORE iEval; // static eval at split
+ SCORE iImprovement; // eval improvement since ply-2 (may be negative)
CUMULATIVE_SEARCH_FLAGS sSearchFlags; // flags at split time
// output from the split node
@@ -2399,20 +2401,21 @@ InitLMRTable(void);
INT
GetLMRReduction(IN SCORE iRoughEval,
- IN SCORE iAlpha,
- IN SCORE iBeta,
- IN SEARCHER_THREAD_CONTEXT *ctx,
- IN ULONG uRemainingDepth,
- IN ULONG uLegalMoves,
- IN MOVE mv,
- IN ULONG uMoveNum,
- IN INT iExtend);
+ IN SCORE iAlpha,
+ IN SCORE iBeta,
+ IN SCORE iImprovement,
+ IN SEARCHER_THREAD_CONTEXT *ctx,
+ IN ULONG uRemainingDepth,
+ IN ULONG uLegalMoves,
+ IN MOVE mv,
+ IN ULONG uMoveNum,
+ IN INT iExtend);
FLAG
WeShouldTryNullmovePruning(IN SEARCHER_THREAD_CONTEXT *ctx,
IN SCORE iAlpha,
IN SCORE iBeta,
- IN SCORE iRoughEval,
+ IN SCORE iEval,
IN SCORE iImprovement,
IN ULONG uNullDepth);
@@ -2914,6 +2917,7 @@ SCORE
StartParallelSearch(IN SEARCHER_THREAD_CONTEXT *ctx,
IN OUT SCORE *piAlpha,
IN SCORE iBeta,
+ IN SCORE iImprovement,
IN OUT SCORE *piBestScore,
IN OUT MOVE *pmvBest,
IN ULONG uMoveNum,