From: Fabian Fichter Date: Sat, 18 Jul 2020 08:33:59 +0000 (+0200) Subject: Merge official-stockfish/master X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=3318cc0ec00907aaf8e811a498a10a182651b9f1;p=fairystockfish.git Merge official-stockfish/master --- 3318cc0ec00907aaf8e811a498a10a182651b9f1 diff --cc src/bitboard.h index f841214,b0e2723..e73d36f --- a/src/bitboard.h +++ b/src/bitboard.h @@@ -272,20 -199,10 +272,20 @@@ inline Bitboard adjacent_files_bb(Squar /// If the given squares are not on a same file/rank/diagonal, return 0. inline Bitboard between_bb(Square s1, Square s2) { - return LineBB[s1][s2] & ( (AllSquares << (s1 + (s1 < s2))) - ^(AllSquares << (s2 + !(s1 < s2)))); + Bitboard b = LineBB[s1][s2] & ((AllSquares << s1) ^ (AllSquares << s2)); + return b & (b - 1); //exclude lsb } +inline Bitboard between_bb(Square s1, Square s2, PieceType pt) { + if (pt == HORSE) + return PseudoAttacks[WHITE][WAZIR][s2] & PseudoAttacks[WHITE][FERS][s1]; + else if (pt == JANGGI_ELEPHANT) + return (PseudoAttacks[WHITE][WAZIR][s2] & PseudoAttacks[WHITE][ALFIL][s1]) + | (PseudoAttacks[WHITE][KNIGHT][s2] & PseudoAttacks[WHITE][FERS][s1]); + else + return between_bb(s1, s2); +} + /// forward_ranks_bb() returns a bitboard representing the squares on the ranks /// in front of the given one, from the point of view of the given color. For instance,