X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbitboard.h;h=ce198c22c4b9a628aefd18b3adcbe1b68cd46322;hp=8366827804dea8a87afa2aaae09aa73ffb9ea79a;hb=b05fbb3733df535a3fdf99e8d832001e57929699;hpb=a44c5cf4f77b05a0385c127b7c26cf086a73120e diff --git a/src/bitboard.h b/src/bitboard.h index 83668278..ce198c22 100644 --- a/src/bitboard.h +++ b/src/bitboard.h @@ -1,7 +1,7 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) - Copyright (C) 2008-2010 Marco Costalba, Joona Kiiski, Tord Romstad + Copyright (C) 2008-2012 Marco Costalba, Joona Kiiski, Tord Romstad Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,7 +23,6 @@ #include "types.h" -extern Bitboard SquaresByColorBB[2]; extern Bitboard FileBB[8]; extern Bitboard NeighboringFilesBB[8]; extern Bitboard ThisAndNeighboringFilesBB[8]; @@ -50,9 +49,7 @@ extern int BShifts[64]; extern Bitboard BMasks[64]; extern Bitboard* BAttacks[64]; -extern Bitboard BishopPseudoAttacks[64]; -extern Bitboard RookPseudoAttacks[64]; -extern Bitboard QueenPseudoAttacks[64]; +extern Bitboard PseudoAttacks[6][64]; extern uint8_t BitCount8Bit[256]; @@ -226,6 +223,15 @@ inline bool squares_aligned(Square s1, Square s2, Square s3) { } +/// same_color_squares() returns a bitboard representing all squares with +/// the same color of the given square. + +inline Bitboard same_color_squares(Square s) { + return bit_is_set(0xAA55AA55AA55AA55ULL, s) ? 0xAA55AA55AA55AA55ULL + : ~0xAA55AA55AA55AA55ULL; +} + + /// first_1() finds the least significant nonzero bit in a nonzero bitboard. /// pop_1st_bit() finds and clears the least significant nonzero bit in a /// nonzero bitboard.