Simplify ThreatBySafePawn scoring

Bench: 6197938

Closes #1047
This commit is contained in:
joergoster
2017-03-25 10:21:24 -07:00
committed by Joona Kiiski
parent 30c583204f
commit afe75571d8

View File

@@ -146,12 +146,6 @@ namespace {
// friendly pawn on the rook file. // friendly pawn on the rook file.
const Score RookOnFile[2] = { S(20, 7), S(45, 20) }; const Score RookOnFile[2] = { S(20, 7), S(45, 20) };
// ThreatBySafePawn[PieceType] contains bonuses according to which piece
// type is attacked by a pawn which is protected or is not attacked.
const Score ThreatBySafePawn[PIECE_TYPE_NB] = {
S(0, 0), S(0, 0), S(176, 139), S(131, 127), S(217, 218), S(203, 215)
};
// ThreatByMinor/ByRook[attacked PieceType] contains bonuses according to // ThreatByMinor/ByRook[attacked PieceType] contains bonuses according to
// which piece type attacks which one. Attacks on lesser pieces which are // which piece type attacks which one. Attacks on lesser pieces which are
// pawn-defended are not considered. // pawn-defended are not considered.
@@ -199,6 +193,7 @@ namespace {
const Score CloseEnemies = S( 7, 0); const Score CloseEnemies = S( 7, 0);
const Score PawnlessFlank = S( 20, 80); const Score PawnlessFlank = S( 20, 80);
const Score ThreatByHangingPawn = S( 71, 61); const Score ThreatByHangingPawn = S( 71, 61);
const Score ThreatBySafePawn = S(182,175);
const Score ThreatByRank = S( 16, 3); const Score ThreatByRank = S( 16, 3);
const Score Hanging = S( 48, 27); const Score Hanging = S( 48, 27);
const Score ThreatByPawnPush = S( 38, 22); const Score ThreatByPawnPush = S( 38, 22);
@@ -539,8 +534,7 @@ namespace {
if (weak ^ safeThreats) if (weak ^ safeThreats)
score += ThreatByHangingPawn; score += ThreatByHangingPawn;
while (safeThreats) score += ThreatBySafePawn * popcount(safeThreats);
score += ThreatBySafePawn[type_of(pos.piece_on(pop_lsb(&safeThreats)))];
} }
// Squares strongly protected by the opponent, either because they attack the // Squares strongly protected by the opponent, either because they attack the