diff options
| author | Scott Gasch <[email protected]> | 2026-09-23 16:04:34 -0700 |
|---|---|---|
| committer | Scott Gasch <[email protected]> | 2026-09-23 16:04:34 -0700 |
| commit | 66740dc89c7351c120c25788d0079055034f4942 (patch) | |
| tree | 8bc4b7d93308ecd19c78c67a65072c2f40d272c9 | |
| parent | f0b56611d8ef5ce2d121f532931de0252628d995 (diff) | |
generate.c: use SeeFastSign instead of full SEE for check-block sign check
Non-losing-block-of-check scoring only ever consumed SEE()'s sign
(>= 0 vs < 0), never the magnitude -- exactly the case SeeFastSign()
already exists for. Avoids building/sorting both sides' attacker
lists and discovering x-rays whenever the defending side has no
attacker on the destination square at all.
Verified via precommit_check.sh (self-test + DEBUG smoke test) and
the three curated ECM suites at sd 10 against head_reference: no
regression (ringers 4/11 vs 3/11, confident_quick 73/90 vs 70/90,
hard_quick 17/90 vs 18/90, the latter delta within this suite's known
noise floor).
Co-Authored-By: Claude Sonnet 5 <[email protected]>
| -rw-r--r-- | src/generate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/generate.c b/src/generate.c index 7e8f43e..dd9fba5 100644 --- a/src/generate.c +++ b/src/generate.c @@ -4469,7 +4469,7 @@ Return value: { // 0..2400 s += (VALUE_QUEEN - PIECE_VALUE(mv.pMoved)) * 4; - if (SEE(pos, mv) >= 0) + if (SeeFastSign(pos, mv)) { // Non-losing block of check ASSERT(SEE(pos, mv) == 0); |
