From b862c8d4be2cf6245360a8072ab910a67eb5bc00 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ste=CC=81phane=20Nicolet?= Date: Wed, 24 Mar 2021 21:55:49 +0100 Subject: [PATCH] Small clean-up Bench: 4321677 --- AUTHORS | 2 +- README.md | 10 +++++----- src/bitboard.cpp | 2 +- src/bitboard.h | 3 +++ src/evaluate.cpp | 27 ++++++++++++++------------- 5 files changed, 24 insertions(+), 20 deletions(-) diff --git a/AUTHORS b/AUTHORS index 11de282b..c12b98a0 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,4 +1,4 @@ -# List of authors for Stockfish, as of March 24, 2021 +# List of authors for Stockfish, as of March 31, 2021 # Founders of the Stockfish project and fishtest infrastructure Tord Romstad (romstad) diff --git a/README.md b/README.md index fdc6fd61..67fb5fa0 100644 --- a/README.md +++ b/README.md @@ -242,9 +242,9 @@ When not using the Makefile to compile (for instance, with Microsoft MSVC) you need to manually set/unset some switches in the compiler command line; see file *types.h* for a quick reference. -When reporting an issue or a bug, please tell us which version and -compiler you used to create your executable. These informations can -be found by typing the following commands in a console: +When reporting an issue or a bug, please tell us which Stockfish version +and which compiler you used to create your executable. This information +can be found by typing the following command in a console: ``` ./stockfish compiler @@ -252,8 +252,8 @@ be found by typing the following commands in a console: ## Understanding the code base and participating in the project -Stockfish's improvement over the last couple of years has been a great -community effort. There are a few ways to help contribute to its growth. +Stockfish's improvement over the last decade has been a great community +effort. There are a few ways to help contribute to its growth. ### Donating hardware diff --git a/src/bitboard.cpp b/src/bitboard.cpp index 2da4d728..6b84b51e 100644 --- a/src/bitboard.cpp +++ b/src/bitboard.cpp @@ -130,7 +130,7 @@ namespace { for (Direction d : (pt == ROOK ? RookDirections : BishopDirections)) { Square s = sq; - while(safe_destination(s, d) && !(occupied & s)) + while (safe_destination(s, d) && !(occupied & s)) attacks |= (s += d); } diff --git a/src/bitboard.h b/src/bitboard.h index c663f4bd..b29f3e24 100644 --- a/src/bitboard.h +++ b/src/bitboard.h @@ -212,6 +212,7 @@ constexpr Bitboard adjacent_files_bb(Square s) { inline Bitboard line_bb(Square s1, Square s2) { assert(is_ok(s1) && is_ok(s2)); + return LineBB[s1][s2]; } @@ -225,7 +226,9 @@ inline Bitboard line_bb(Square s1, Square s2) { /// interpose itself to cover the check or capture the checking piece. inline Bitboard between_bb(Square s1, Square s2) { + assert(is_ok(s1) && is_ok(s2)); + return BetweenBB[s1][s2]; } diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 74f2e39b..437e753a 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -256,12 +256,12 @@ namespace { S(0, 0), S(3, 44), S(37, 68), S(42, 60), S(0, 39), S(58, 43) }; + constexpr Value CorneredBishop = Value(50); + // Assorted bonuses and penalties constexpr Score UncontestedOutpost = S( 1, 10); constexpr Score BishopOnKingRing = S( 24, 0); constexpr Score BishopXRayPawns = S( 4, 5); - constexpr Value CorneredBishopV = Value(50); - constexpr Score CorneredBishop = S(CorneredBishopV, CorneredBishopV); constexpr Score FlankAttacks = S( 8, 0); constexpr Score Hanging = S( 69, 36); constexpr Score KnightOnQueen = S( 16, 11); @@ -478,8 +478,8 @@ namespace { { Direction d = pawn_push(Us) + (file_of(s) == FILE_A ? EAST : WEST); if (pos.piece_on(s + d) == make_piece(Us, PAWN)) - score -= !pos.empty(s + d + pawn_push(Us)) ? CorneredBishop * 4 - : CorneredBishop * 3; + score -= !pos.empty(s + d + pawn_push(Us)) ? 4 * make_score(CorneredBishop, CorneredBishop) + : 3 * make_score(CorneredBishop, CorneredBishop); } } } @@ -1052,23 +1052,23 @@ make_v: if ( pos.piece_on(SQ_A1) == W_BISHOP && pos.piece_on(SQ_B2) == W_PAWN) - correction += !pos.empty(SQ_B3) ? -CorneredBishopV * 4 - : -CorneredBishopV * 3; + correction += !pos.empty(SQ_B3) ? -CorneredBishop * 4 + : -CorneredBishop * 3; if ( pos.piece_on(SQ_H1) == W_BISHOP && pos.piece_on(SQ_G2) == W_PAWN) - correction += !pos.empty(SQ_G3) ? -CorneredBishopV * 4 - : -CorneredBishopV * 3; + correction += !pos.empty(SQ_G3) ? -CorneredBishop * 4 + : -CorneredBishop * 3; if ( pos.piece_on(SQ_A8) == B_BISHOP && pos.piece_on(SQ_B7) == B_PAWN) - correction += !pos.empty(SQ_B6) ? CorneredBishopV * 4 - : CorneredBishopV * 3; + correction += !pos.empty(SQ_B6) ? CorneredBishop * 4 + : CorneredBishop * 3; if ( pos.piece_on(SQ_H8) == B_BISHOP && pos.piece_on(SQ_G7) == B_PAWN) - correction += !pos.empty(SQ_G6) ? CorneredBishopV * 4 - : CorneredBishopV * 3; + correction += !pos.empty(SQ_G6) ? CorneredBishop * 4 + : CorneredBishop * 3; return pos.side_to_move() == WHITE ? Value(correction) : -Value(correction); @@ -1119,7 +1119,8 @@ Value Eval::evaluate(const Position& pos) { // If the classical eval is small and imbalance large, use NNUE nevertheless. // For the case of opposite colored bishops, switch to NNUE eval with // small probability if the classical eval is less than the threshold. - if ( largePsq && !strongClassical + if ( largePsq + && !strongClassical && ( abs(v) * 16 < NNUEThreshold2 * r50 || ( pos.opposite_bishops() && abs(v) * 16 < (NNUEThreshold1 + pos.non_pawn_material() / 64) * r50 -- 2.39.2