mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 08:43:09 +00:00
make DistanceRing more consistent
This is a non-functional change. By pre-incrementing minKingPawnDistance instead of post-incrementing, we can remove this -1. This also makes DistanceRing more consistent with the rest of stockfish since it now holds an actual "distance" instead of a less natural distance-1. In current master, PseudoAttacks[KING][ksq] == DistanceRingBB[ksq][0] With this patch, it will be PseudoAttacks[KING][ksq] == DistanceRingBB[ksq][1] ie squares at distance 1 from the king. This is more natural use of distance. The current array size DistanceRingBB[SQUARE_NB][8] is still OK with the new definition, because maximum distance between two squares on a chess board is seven (for example Kh1 and a8). No functional change.
This commit is contained in:
parent
6307fd08e6
commit
8a4821923a
2 changed files with 2 additions and 2 deletions
|
@ -116,7 +116,7 @@ void Bitboards::init() {
|
|||
if (s1 != s2)
|
||||
{
|
||||
SquareDistance[s1][s2] = std::max(distance<File>(s1, s2), distance<Rank>(s1, s2));
|
||||
DistanceRingBB[s1][SquareDistance[s1][s2] - 1] |= s2;
|
||||
DistanceRingBB[s1][SquareDistance[s1][s2]] |= s2;
|
||||
}
|
||||
|
||||
int steps[][5] = { {}, { 7, 9 }, { 6, 10, 15, 17 }, {}, {}, {}, { 1, 7, 8, 9 } };
|
||||
|
|
|
@ -245,7 +245,7 @@ Score Entry::do_king_safety(const Position& pos, Square ksq) {
|
|||
|
||||
Bitboard pawns = pos.pieces(Us, PAWN);
|
||||
if (pawns)
|
||||
while (!(DistanceRingBB[ksq][minKingPawnDistance++] & pawns)) {}
|
||||
while (!(DistanceRingBB[ksq][++minKingPawnDistance] & pawns)) {}
|
||||
|
||||
Value bonus = evaluate_shelter<Us>(pos, ksq);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue