From: Fabian Fichter Date: Fri, 1 Mar 2019 22:59:03 +0000 (+0100) Subject: Extend endgame evaluation for fairy pieces X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=6e4ceb01b54229a389d4fbe7d2fe2e292170a775;p=fairystockfish.git Extend endgame evaluation for fairy pieces --- diff --git a/src/endgame.cpp b/src/endgame.cpp index 1e7f2b2..daa72d6 100644 --- a/src/endgame.cpp +++ b/src/endgame.cpp @@ -125,7 +125,14 @@ Value Endgame::operator()(const Position& pos) const { || pos.count(strongSide) ||(pos.count(strongSide) && pos.count(strongSide)) || ( (pos.pieces(strongSide, BISHOP) & ~DarkSquares) - && (pos.pieces(strongSide, BISHOP) & DarkSquares))) + && (pos.pieces(strongSide, BISHOP) & DarkSquares)) + || pos.count(strongSide) >= 2 + ||(pos.count(strongSide) && pos.count(strongSide)) + ||(pos.count(strongSide) && pos.count(strongSide)) + ||(pos.count(strongSide) && pos.count(strongSide) >= 2) + ||(pos.count(strongSide) >= 3 + && ( DarkSquares & pos.pieces(strongSide, FERS)) + && (~DarkSquares & pos.pieces(strongSide, FERS)))) result = std::min(result + VALUE_KNOWN_WIN, VALUE_MATE_IN_MAX_PLY - 1); return strongSide == pos.side_to_move() ? result : -result;