diff options
| author | Scott Gasch <[email protected]> | 2026-10-25 10:16:16 -0700 |
|---|---|---|
| committer | Scott Gasch <[email protected]> | 2026-10-25 10:16:16 -0700 |
| commit | 3927a4cac6ec254a8e34a5e864300f75c3efc9f3 (patch) | |
| tree | d34d06481bd57276b3ef50bc5513f5bd65950a74 /src/split.c | |
| parent | 874ef0478078ef4eb436af7d2b68a353f61f4d70 (diff) | |
Make the FH% regression model the default; remove data.c's retired tables
Flips FH_USE_REGRESSION_MODEL from an opt-in safety toggle to the only
behavior: fhmodel.c's quantized logistic regressions are now always
used, with no build-time choice left between them and the old
histogram tables. Removes g_uJointFHThousandths/g_uBetaFHThousandths
and their _NNUE counterparts from data.c (4085 lines), their extern
declarations from chess.h, and the now-dead
_JointTablePredictedFHThousandths/_BetaTablePredictedFHThousandths
lookup functions and their supporting bucket helpers
(HangCpBucket/GapCpBucket/MoveNumBucket/DepthBucket/ImproveBucket/
GapBetaBucket/_ShipDepthBucket/_ShipLateBucket) from searchsup.c, along
with the uRawDepthB/uRawImproveB plumbing that only existed to feed
them (search.c, split.c, SearchOneMove's parameter list).
Also drops the beta-side static-nullmove skip threshold's provisional-
96000 #else branch -- 99000 is now simply the default, confirmed (not
provisional) by docs/REGRESSION.md's trust-audit sweep (+291 Elo over
96000 at 200 games, LOWER95=0.79).
Verified: clean release build, clean DEBUG=1 TEST=1 self-test run (no
asserts), and a fresh head_reference/ checkpoint
(head-reference-20261025 -> 874ef04's regression-model binary) with
sd10/sn5000000 solve counts on the three curated suites essentially
matching the previous table-based checkpoint (70/191 vs 71/191 sd10,
93/191 vs 96/191 sn5M).
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Diffstat (limited to 'src/split.c')
| -rw-r--r-- | src/split.c | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/src/split.c b/src/split.c index 063f183..7af4805 100644 --- a/src/split.c +++ b/src/split.c @@ -1140,8 +1140,6 @@ Return value: ULONG uMoveNum = 0; INT iOrigExtend; MOVE mv; - ULONG uRawDepthB; - ULONG uRawImproveB; MOVE_KERNEL_RESULT eMoveKernelResult; #ifdef DEBUG POSITION board; @@ -1170,16 +1168,6 @@ Return value: ctx->sSearchFlags = g_SplitInfo[u].sSearchFlags; SCORE iEval = g_SplitInfo[u].iEval; - // Node-level hoists -- node-constant for the life of this split - // (same convention search.c's own move loop uses: compute once, - // not once per move). g_SplitInfo[u].iImprovement is real input - // here (unlike the GetLMRReduction parameter removed 2026-10-04 -- - // see this field's own chess.h comment), feeding the joint-table - // lookup SearchOneMove now does internally via CanWeReduceOrPruneMove/ - // ShouldLatePrune, which this call site never had before. - uRawDepthB = DepthBucket(uOrigDepth / ONE_PLY); - uRawImproveB = ImproveBucket(g_SplitInfo[u].iImprovement); - do { ULONG uLegalMoves; @@ -1288,14 +1276,11 @@ Return value: TRUE, // fIsLeftoverMove g_SplitInfo[u].fThreat, FALSE, // fFullWindow - uRawDepthB, - uRawImproveB, g_SplitInfo[u].bbMinorAttacksSnapshot, g_SplitInfo[u].bbRookAttacksSnapshot, -#ifdef FH_USE_REGRESSION_MODEL - // Same "deliberately - // uninstrumented" pattern as - // the FH_REGRESSION_COLLECTION + // Deliberately uninstrumented, + // same as the + // FH_REGRESSION_COLLECTION // param below -- no node-level // precompute is threaded // through the split machinery, @@ -1303,7 +1288,6 @@ Return value: // the no-data sentinel on a // helper thread's move. (FHM_NODE_BASE)FHM_MATE_GATED, -#endif #ifdef MOVE_ORDERING_EVIDENCE_COLLECTION FALSE, // fThisMoveIsCountermoveMatch 0, // uCMEvidenceBucket |
