Generalize shift_bb() to handle double pushes

And use it in evaluate_space.

No functional change.
This commit is contained in:
Marco Costalba
2014-04-20 15:15:43 +02:00
parent a4d058bca2
commit eced15fe36
2 changed files with 7 additions and 6 deletions

View File

@@ -130,10 +130,9 @@ inline int rank_distance(Square s1, Square s2) {
template<Square Delta>
inline Bitboard shift_bb(Bitboard b) {
return Delta == DELTA_N ? b << 8 : Delta == DELTA_S ? b >> 8
: Delta == DELTA_NE ? (b & ~FileHBB) << 9 : Delta == DELTA_SE ? (b & ~FileHBB) >> 7
return Delta == DELTA_NE ? (b & ~FileHBB) << 9 : Delta == DELTA_SE ? (b & ~FileHBB) >> 7
: Delta == DELTA_NW ? (b & ~FileABB) << 7 : Delta == DELTA_SW ? (b & ~FileABB) >> 9
: 0;
: Delta > 0 ? b << Delta : b >> -Delta;
}