X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbitboard.h;h=cb4c9fad5781515dc6d2474bd3a3e93250562ddd;hp=8366827804dea8a87afa2aaae09aa73ffb9ea79a;hb=8307da0de77c9c7bbf7c56a7d9c8a688ff4dfb4e;hpb=a44c5cf4f77b05a0385c127b7c26cf086a73120e diff --git a/src/bitboard.h b/src/bitboard.h index 83668278..cb4c9fad 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]; @@ -226,6 +225,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.