mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 16:53:09 +00:00
Refactor king ring calculation
Compute the "double protection by pawns" expression only once in initialize(), instead of once for each piece in the piece loop. Passed STC http://tests.stockfishchess.org/tests/view/5c1506380ebc5902ba11f3b4 LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 9494 W: 2191 L: 2045 D: 5258 Inspired by Nick Pelling's test http://tests.stockfishchess.org/tests/view/5c144d110ebc5902ba11e4af and an older test of mine http://tests.stockfishchess.org/tests/view/5c0402810ebc5902bcee1fc8 Non functional change.
This commit is contained in:
parent
4e2bb8fa44
commit
64a6138d37
1 changed files with 2 additions and 1 deletions
|
@ -274,6 +274,7 @@ namespace {
|
||||||
kingRing[Us] |= shift<EAST>(kingRing[Us]);
|
kingRing[Us] |= shift<EAST>(kingRing[Us]);
|
||||||
|
|
||||||
kingAttackersCount[Them] = popcount(kingRing[Us] & pe->pawn_attacks(Them));
|
kingAttackersCount[Them] = popcount(kingRing[Us] & pe->pawn_attacks(Them));
|
||||||
|
kingRing[Us] &= ~double_pawn_attacks_bb<Us>(pos.pieces(Us, PAWN));
|
||||||
kingAttacksCount[Them] = kingAttackersWeight[Them] = 0;
|
kingAttacksCount[Them] = kingAttackersWeight[Them] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -309,7 +310,7 @@ namespace {
|
||||||
attackedBy[Us][Pt] |= b;
|
attackedBy[Us][Pt] |= b;
|
||||||
attackedBy[Us][ALL_PIECES] |= b;
|
attackedBy[Us][ALL_PIECES] |= b;
|
||||||
|
|
||||||
if (b & kingRing[Them] & ~double_pawn_attacks_bb<Them>(pos.pieces(Them, PAWN)))
|
if (b & kingRing[Them])
|
||||||
{
|
{
|
||||||
kingAttackersCount[Us]++;
|
kingAttackersCount[Us]++;
|
||||||
kingAttackersWeight[Us] += KingAttackWeights[Pt];
|
kingAttackersWeight[Us] += KingAttackWeights[Pt];
|
||||||
|
|
Loading…
Add table
Reference in a new issue