X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=a40687e7797afe35afbcdc2fec61cd98eaaf2a82;hp=18c783f0836ecd6b0d92157ae731472d5040f6ea;hb=9d219c07e46bd527f4d9ff4d5b273102b59521c3;hpb=ad2a0e356e395038a08324f9ff0afee7fc98b8e9 diff --git a/src/position.h b/src/position.h index 18c783f0..a40687e7 100644 --- a/src/position.h +++ b/src/position.h @@ -52,7 +52,7 @@ struct StateInfo { Piece capturedPiece; StateInfo* previous; Bitboard blockersForKing[COLOR_NB]; - Bitboard pinnersForKing[COLOR_NB]; + Bitboard pinners[COLOR_NB]; Bitboard checkSquares[PIECE_TYPE_NB]; }; @@ -152,6 +152,8 @@ public: bool is_chess960() const; Thread* this_thread() const; bool is_draw(int ply) const; + bool has_game_cycle(int ply) const; + bool has_repeated() const; int rule50_count() const; Score psq_score() const; Value non_pawn_material(Color c) const; @@ -405,10 +407,10 @@ inline void Position::move_piece(Piece pc, Square from, Square to) { // index[from] is not updated and becomes stale. This works as long as index[] // is accessed just by known occupied squares. - Bitboard from_to_bb = SquareBB[from] ^ SquareBB[to]; - byTypeBB[ALL_PIECES] ^= from_to_bb; - byTypeBB[type_of(pc)] ^= from_to_bb; - byColorBB[color_of(pc)] ^= from_to_bb; + Bitboard fromTo = SquareBB[from] ^ SquareBB[to]; + byTypeBB[ALL_PIECES] ^= fromTo; + byTypeBB[type_of(pc)] ^= fromTo; + byColorBB[color_of(pc)] ^= fromTo; board[from] = NO_PIECE; board[to] = pc; index[to] = index[from];