X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbitboard.h;h=142c4c5a397f85b5b9092b4692c374cd1c6a2f01;hp=b99cc2597ceb7959709b50c1dbfa3514e2479383;hb=818e0b2d2b0e2b2eaa8279c8f6684770dc4550e9;hpb=e304db9d1ecf6a2318708483c90fadecf4fac4ee diff --git a/src/bitboard.h b/src/bitboard.h index b99cc259..142c4c5a 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-2012 Marco Costalba, Joona Kiiski, Tord Romstad + Copyright (C) 2008-2013 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 @@ -33,7 +33,7 @@ void print(Bitboard b); namespace Bitbases { void init_kpk(); -uint32_t probe_kpk(Square wksq, Square wpsq, Square bksq, Color stm); +bool probe_kpk(Square wksq, Square wpsq, Square bksq, Color us); } @@ -63,6 +63,8 @@ extern Bitboard PassedPawnMask[COLOR_NB][SQUARE_NB]; extern Bitboard AttackSpanMask[COLOR_NB][SQUARE_NB]; extern Bitboard PseudoAttacks[PIECE_TYPE_NB][SQUARE_NB]; +const Bitboard WhiteSquares = 0x55AA55AA55AA55AAULL; +const Bitboard BlackSquares = 0xAA55AA55AA55AA55ULL; /// Overloads of bitwise operators between a Bitboard and a Square for testing /// whether a given bit is set in a bitboard, and for setting and clearing bits. @@ -280,7 +282,7 @@ FORCE_INLINE Square msb(Bitboard b) { FORCE_INLINE Square pop_lsb(Bitboard* b) { const Square s = lsb(*b); - *b &= ~(1ULL << s); + *b &= *b - 1; return s; }