X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbitboard.h;h=715f6c4af485bf8bb7f1313601cb6710024ae0f2;hp=390966e3494273969bdb53a50c6953a6c9782611;hb=7ae3c05795e79c9bd945607cdcfb08198f4c4b45;hpb=351844061eddffac59e7a3c2d16af7ea9661bb3e diff --git a/src/bitboard.h b/src/bitboard.h index 390966e3..715f6c4a 100644 --- a/src/bitboard.h +++ b/src/bitboard.h @@ -124,13 +124,13 @@ inline Bitboard file_bb(Square s) { } -/// shift_bb() moves a bitboard one step along direction Delta. Mainly for pawns +/// shift() moves a bitboard one step along direction D. Mainly for pawns -template -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 - : Delta == DELTA_NW ? (b & ~FileABB) << 7 : Delta == DELTA_SW ? (b & ~FileABB) >> 9 +template +inline Bitboard shift(Bitboard b) { + return D == NORTH ? b << 8 : D == SOUTH ? b >> 8 + : D == NORTH_EAST ? (b & ~FileHBB) << 9 : D == SOUTH_EAST ? (b & ~FileHBB) >> 7 + : D == NORTH_WEST ? (b & ~FileABB) << 7 : D == SOUTH_WEST ? (b & ~FileABB) >> 9 : 0; }