summaryrefslogtreecommitdiff
path: root/src/chess.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/chess.h')
-rwxr-xr-xsrc/chess.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/chess.h b/src/chess.h
index 421667f..6b09840 100755
--- a/src/chess.h
+++ b/src/chess.h
@@ -752,6 +752,24 @@ typedef struct _POSITION
BITBOARD bbRookAttacks[2];
BITBOARD bbRookXrayAttacks[2];
+ // Queen's turn to convert (board_representation/EVAL.md section
+ // 9, 2026-09-05): "which squares does this side's queen(s)
+ // attack," ORed in from the two-pass rook-direction/bishop-
+ // direction magic lookups _EvalQueen's mobility computation
+ // already needs (MOVEGEN_MIGRATION.md's own already-tested
+ // "combined 8-ray table measured slower than reusing the
+ // rook/bishop tables in two passes" finding -- reuse that
+ // structure here too). bbQueenXrayAttacks mirrors
+ // bbRookXrayAttacks/bbMinorXrayAttacks: squares seen past a
+ // friendly queen/rook/bishop battery partner, chained arbitrarily
+ // deep like rook's (not single-hop like bishop's original cut) --
+ // queen's own case table never x-rays past an enemy piece (unlike
+ // rook/bishop), only through friendly battery partners. King
+ // hasn't converted yet and still writes its own bits into the old
+ // bvAttacks structure.
+ BITBOARD bbQueenAttacks[2];
+ BITBOARD bbQueenXrayAttacks[2];
+
ULONG uWhiteSqBishopCount[2]; // num bishops on white squares
SCORE iMaterialBalance[2]; // material balance