]> git.sesse.net Git - stockfish/blobdiff - src/bitboard.h
Move SquareDistance[] to bitboard.cpp
[stockfish] / src / bitboard.h
index 6094c343f45236772abe34b7a2775641e3dec405..033964b75b3d9c657e997d5e9b9b566284303172 100644 (file)
@@ -80,6 +80,8 @@ extern Bitboard PassedPawnMask[COLOR_NB][SQUARE_NB];
 extern Bitboard PawnAttackSpan[COLOR_NB][SQUARE_NB];
 extern Bitboard PseudoAttacks[PIECE_TYPE_NB][SQUARE_NB];
 
+extern int SquareDistance[SQUARE_NB][SQUARE_NB];
+
 const Bitboard BlackSquares = 0xAA55AA55AA55AA55ULL;
 
 /// Overloads of bitwise operators between a Bitboard and a Square for testing
@@ -105,13 +107,22 @@ inline Bitboard operator^(Bitboard b, Square s) {
   return b ^ SquareBB[s];
 }
 
-
-/// more_than_one() returns true if in 'b' there is more than one bit set
-
 inline bool more_than_one(Bitboard b) {
   return b & (b - 1);
 }
 
+inline int square_distance(Square s1, Square s2) {
+  return SquareDistance[s1][s2];
+}
+
+inline int file_distance(Square s1, Square s2) {
+  return abs(file_of(s1) - file_of(s2));
+}
+
+inline int rank_distance(Square s1, Square s2) {
+  return abs(rank_of(s1) - rank_of(s2));
+}
+
 
 /// shift_bb() moves bitboard one step along direction Delta. Mainly for pawns.