summaryrefslogtreecommitdiff
path: root/src/README
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2026-10-14 12:16:43 -0700
committerScott Gasch <[email protected]>2026-10-14 12:16:43 -0700
commitac5cc078b71e94b21a8a843628045c745022aa75 (patch)
tree1633412357651cd94e34b50c74f23ff06608db7f /src/README
parent91f01c607338eabb10ae1f8c144be55071d174a5 (diff)
Remove PRUNE_VERIFY entirely -- never compiled in its current form
PRUNE_VERIFY (shadow verification for ShouldLatePrune's deep-prune gate) is dead code that has apparently never been built successfully: search.c's #if defined(PERF_COUNTERS) && defined(PRUNE_VERIFY) block reads fVerifyFlagged/uVerifyBand/uVerifyDepthB/uVerifyAttB/ uVerifyRateB/uVerifyPred, none of which are declared or assigned anywhere in the file. Confirmed by compiling search.c with -DPRUNE_VERIFY directly: 7 "use of undeclared identifier" errors. Since GNUmakefile never defines PRUNE_VERIFY on any path (it's opt-in only, ifdef PRUNE_VERIFY / PROFILE += -DPRUNE_VERIFY), nothing has ever caught this. Removed rather than fixed: reconstructing fVerifyFlagged/uVerifyBand/ etc.'s intended semantics from scratch would be inventing behavior, not restoring it -- there's no prior working version to recover. Removed: the broken block in search.c's move loop; its two PRUNE_VERIFY-exclusive helper functions (PruneVerifyBand, PvAttBucket/PvRateBucket -- careful to keep ShipDepthBucketPublic/ JOINT_TABLE_SENTINEL_PUBLIC/ShipLateBucketPublic/PruneVerifyPredict, which PRUNE_LIVE also uses via its PruneLivePredict alias, simplifying that block's guard from "(PERF_COUNTERS && PRUNE_VERIFY) || PRUNE_LIVE" to just "PRUNE_LIVE"); the COUNTERS and g_Options struct fields in chess.h (u64PruneVerifyTries/FailHigh/MarginSum/PredSum/Dyn/DynMiss) and PRUNE_VERIFY_BANDS/SHIP_DEPTH_BUCKETS (the latter was only ever used by PRUNE_VERIFY code); root.c's dead counter copies; script.c's report-printing block and SHIP_DEPTH_BUCKETS-sized suite-total fields; GNUmakefile's flag wiring (left a comment explaining the removal). Found while scoping the PRUNE_LIVE guard above: PRUNE_LIVE is ALSO currently broken (separate, pre-existing, unrelated bug) -- PruneVerifyPredict (search.c) returns g_uJointFHThousandths[...]'s element type as ULONG, but that array is declared USHORT in data.c, producing an "incompatible pointer to integer conversion" error under -DPRUNE_LIVE=<K>. Confirmed pre-existing (reproduces identically with this commit reverted). Not fixed here -- out of scope, nobody's asked to touch PRUNE_LIVE, flagging for awareness only. Verified: standard profile (GENETIC=1 PERF_COUNTERS=1 MP=1 SIXTYFOUR=1) builds clean, precommit_check.sh passes (TEST=1 self-test + DEBUG smoke test). PRUNE_LIVE's build was already broken before this commit and remains identically broken after (confirmed via git stash). Co-Authored-By: Claude Sonnet 5 <[email protected]>
Diffstat (limited to 'src/README')
0 files changed, 0 insertions, 0 deletions