summaryrefslogtreecommitdiff
path: root/src/chess.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/chess.h')
-rwxr-xr-xsrc/chess.h43
1 files changed, 31 insertions, 12 deletions
diff --git a/src/chess.h b/src/chess.h
index 8d16837..7d01e64 100755
--- a/src/chess.h
+++ b/src/chess.h
@@ -945,6 +945,16 @@ typedef struct _COUNTERS
UINT64 u64EvalHashHits;
UINT64 u64LazyEvals;
UINT64 u64FullEvals;
+ // Placeholder counters for root.c's per-tier eval-exit
+ // reporting -- eval.c's super-lazy exit itself hasn't been
+ // re-applied yet (see stash), so these always read 0 for now;
+ // that's accurate, not a stub bug, since no super-lazy exit
+ // exists in this build to increment them.
+ UINT64 u64SuperLazyEvals;
+ UINT64 u64CyclesSuperLazyExit;
+ UINT64 u64CyclesLazyExit;
+ UINT64 u64CyclesFullEvalExit;
+ UINT64 u64CyclesEvalSuperLazy;
UINT64 u64CyclesInEval;
//
@@ -2812,6 +2822,13 @@ IsDraw(SEARCHER_THREAD_CONTEXT *ctx);
//
#define QPLIES_OF_NON_CAPTURE_CHECKS (2)
#define FUTILITY_BASE_MARGIN (50)
+// Compatibility aliases for root.c/main.c's per-tier reporting, which
+// expects these three names -- search.c hasn't been split into
+// per-tier margins yet (still one flat FUTILITY_BASE_MARGIN), so all
+// three alias the same value until that split is re-applied.
+#define FUTILITY_BASE_MARGIN_FULL FUTILITY_BASE_MARGIN
+#define FUTILITY_BASE_MARGIN_LAZY FUTILITY_BASE_MARGIN
+#define FUTILITY_BASE_MARGIN_SUPERLAZY FUTILITY_BASE_MARGIN
// Measured: disabling this entirely (see lmr_testing/RESULTS.md) is a
// clear net loss across ringers/confident_quick/hard_quick, so IID itself
// is load-bearing. The "is the top move crappy" gate in search.c's DO_IID
@@ -3146,7 +3163,14 @@ PawnHashLookup(SEARCHER_THREAD_CONTEXT *ctx);
extern const int g_iAhead[2];
extern const int g_iBehind[2];
-ULONG
+// No-op placeholder: eval.c's ROOK_FULL_HALF_OPEN_BONUS static cache
+// (the thing InitEval() is meant to (re)build, called at startup and
+// after every DNA reload) hasn't been re-applied yet -- see stash.
+// Nothing to initialize until that cache exists.
+void
+InitEval(void);
+
+ULONG
DNABufferSizeBytes();
char *
@@ -3167,7 +3191,7 @@ SCORE
Eval(SEARCHER_THREAD_CONTEXT *, SCORE, SCORE, SCORE *);
FLAG
-EvalPasserRaces(POSITION *,
+_EvalPasserRacesAgainstLoneKings(POSITION *,
PAWN_HASH_ENTRY *);
ULONG
@@ -3362,17 +3386,12 @@ _WhoAttacksSquareBB(POSITION *pos,
ULONG uSide,
BITBOARD bbOccupied);
-// Three-way choice for which GetAttacks implementation is actually
-// live -- see MIGRATION.md section 6:
-// GETATTACKS_BITBOARD defined -> _GetAttacksBB (bitboard, new)
-// else CROUTINES defined -> SlowGetAttacks (C mailbox)
-// else (default) -> GetAttacks (asm x86/x64 mailbox,
-// the literal function declared above)
-#if defined(GETATTACKS_BITBOARD)
+// _GetAttacksBB is the only implementation as of 2026-09-06 (see
+// MIGRATION.md section 6) -- verified correct and faster than the old
+// asm/CROUTINES mailbox versions (SlowGetAttacks, asm GetAttacks),
+// which have been retired. Every call site written against the name
+// "GetAttacks" didn't need touching when the default changed.
#define GetAttacks _GetAttacksBB
-#elif defined(CROUTINES)
-#define GetAttacks SlowGetAttacks
-#endif
#ifdef _X86_
//