mirror of
https://github.com/sockspls/badfish
synced 2025-05-01 01:03: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)
|
if (s1 != s2)
|
||||||
{
|
{
|
||||||
SquareDistance[s1][s2] = std::max(distance<File>(s1, s2), distance<Rank>(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 } };
|
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);
|
Bitboard pawns = pos.pieces(Us, PAWN);
|
||||||
if (pawns)
|
if (pawns)
|
||||||
while (!(DistanceRingBB[ksq][minKingPawnDistance++] & pawns)) {}
|
while (!(DistanceRingBB[ksq][++minKingPawnDistance] & pawns)) {}
|
||||||
|
|
||||||
Value bonus = evaluate_shelter<Us>(pos, ksq);
|
Value bonus = evaluate_shelter<Us>(pos, ksq);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue