Merge official-stockfish/master
authorFabian Fichter <ianfab@users.noreply.github.com>
Sat, 18 Jul 2020 08:33:59 +0000 (10:33 +0200)
committerFabian Fichter <ianfab@users.noreply.github.com>
Sat, 18 Jul 2020 08:33:59 +0000 (10:33 +0200)
1  2 
src/bitboard.h
src/endgame.cpp

diff --cc 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,
diff --cc src/endgame.cpp
Simple merge