1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 08:43:09 +00:00

Small touches to increased mobility patch

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2009-10-03 13:25:51 +02:00
parent da9c423989
commit 1361ba75cb

View file

@ -207,7 +207,7 @@ namespace {
((1ULL << SQ_A8) | (1ULL << SQ_H8)) ((1ULL << SQ_A8) | (1ULL << SQ_H8))
}; };
// The SpaceMask[color] contains the area of the board which is consdered // The SpaceMask[color] contains the area of the board which is considered
// by the space evaluation. In the middle game, each side is given a bonus // by the space evaluation. In the middle game, each side is given a bonus
// based on how many squares inside this area are safe and available for // based on how many squares inside this area are safe and available for
// friendly minor pieces. // friendly minor pieces.
@ -555,13 +555,14 @@ namespace {
// The squares occupied by enemy pieces (not defended by pawns) will be // The squares occupied by enemy pieces (not defended by pawns) will be
// counted two times instead of one. The shift (almost) guarantees that // counted two times instead of one. The shift (almost) guarantees that
// intersection with b is zero so when we 'or' the two bitboards togheter // intersection of the shifted value with b is zero so that after or-ing
// and count we get the correct sum of '1' in b and attacked bitboards. // the count of 1s bits is increased by the number of affected squares.
Bitboard attacked = Us == WHITE ? ((b & pos.pieces_of_color(Them)) >> 1) b |= Us == WHITE ? ((b & pos.pieces_of_color(Them)) >> 1)
: ((b & pos.pieces_of_color(Them)) << 1); : ((b & pos.pieces_of_color(Them)) << 1);
// Mobility // Mobility
int mob = (Piece != QUEEN ? count_1s_max_15<HasPopCnt>(b | attacked) int mob = (Piece != QUEEN ? count_1s_max_15<HasPopCnt>(b)
: count_1s<HasPopCnt>(b | attacked)); : count_1s<HasPopCnt>(b));
if (mob > lastIndex[Piece]) if (mob > lastIndex[Piece])
mob = lastIndex[Piece]; mob = lastIndex[Piece];