From: Alain SAVARD Date: Sat, 7 Oct 2017 20:35:19 +0000 (-0400) Subject: Simplify bonus for bishop on long diagonal X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=43c186c64503cffe6991c338f1813e36f8f49a29;hp=b36489742b3cfd045c1960fa299199401cd0265d Simplify bonus for bishop on long diagonal Removing 2 conditions, and increase the ThreatbyPawn to compensate. Passed STC http://tests.stockfishchess.org/tests/view/59dbde900ebc5916ff64be6d LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 14236 W: 2615 L: 2483 D: 9138 Passed LTC http://tests.stockfishchess.org/tests/view/59dc26470ebc5916ff64be92 LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 16552 W: 2136 L: 2010 D: 12406 Bench: 5234652 --- diff --git a/src/evaluate.cpp b/src/evaluate.cpp index f34c01b6..aadde25a 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -31,11 +31,10 @@ namespace { - const Bitboard LongDiagonals = 0x8142241818244281ULL; // A1..H8 | H1..A8 - const Bitboard Center = (FileDBB | FileEBB) & (Rank4BB | Rank5BB); - const Bitboard QueenSide = FileABB | FileBBB | FileCBB | FileDBB; - const Bitboard CenterFiles = FileCBB | FileDBB | FileEBB | FileFBB; - const Bitboard KingSide = FileEBB | FileFBB | FileGBB | FileHBB; + const Bitboard Center = (FileDBB | FileEBB) & (Rank4BB | Rank5BB); + const Bitboard QueenSide = FileABB | FileBBB | FileCBB | FileDBB; + const Bitboard CenterFiles = FileCBB | FileDBB | FileEBB | FileFBB; + const Bitboard KingSide = FileEBB | FileFBB | FileGBB | FileHBB; const Bitboard KingFlank[FILE_NB] = { QueenSide, QueenSide, QueenSide, CenterFiles, CenterFiles, KingSide, KingSide, KingSide @@ -222,7 +221,7 @@ namespace { const Score CloseEnemies = S( 7, 0); const Score PawnlessFlank = S( 20, 80); const Score ThreatByHangingPawn = S( 71, 61); - const Score ThreatBySafePawn = S(182,175); + const Score ThreatBySafePawn = S(192,175); const Score ThreatByRank = S( 16, 3); const Score Hanging = S( 48, 27); const Score WeakUnopposedPawn = S( 5, 25); @@ -354,10 +353,8 @@ namespace { // Penalty for pawns on the same color square as the bishop score -= BishopPawns * pe->pawns_on_same_color_squares(Us, s); - // Bonus for bishop on a long diagonal without pawns in the center - if ( (LongDiagonals & s) - && !(attackedBy[Them][PAWN] & s) - && !(Center & PseudoAttacks[BISHOP][s] & pos.pieces(PAWN))) + // Bonus for bishop on a long diagonal which can "see" both center squares + if (more_than_one(Center & (attacks_bb(s, pos.pieces(PAWN)) | s))) score += LongRangedBishop; }