X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.cpp;h=ec008338796cc4b8f422366899ff0e82358fd8d0;hp=bef7a0fe4732f5c34ccefa5e068a6d892a2272cb;hb=13d1f0ae4301b86c610a58332c3c19d9101704da;hpb=7f142d68179919a507204e7980fff4f79648dbbc diff --git a/src/position.cpp b/src/position.cpp index bef7a0fe..ec008338 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -98,7 +98,7 @@ CheckInfo::CheckInfo(const Position& pos) { Color them = ~pos.side_to_move(); ksq = pos.king_square(them); - pinned = pos.pinned_pieces(); + pinned = pos.pinned_pieces(pos.side_to_move()); dcCandidates = pos.discovered_check_candidates(); checkSq[PAWN] = pos.attacks_from(ksq, them); @@ -422,7 +422,7 @@ const string Position::pretty(Move move) const { /// pieces, according to the call parameters. Pinned pieces protect our king, /// discovery check pieces attack the enemy king. -Bitboard Position::hidden_checkers(Square ksq, Color c) const { +Bitboard Position::hidden_checkers(Square ksq, Color c, Color toMove) const { Bitboard b, pinners, result = 0; @@ -435,7 +435,7 @@ Bitboard Position::hidden_checkers(Square ksq, Color c) const { b = between_bb(ksq, pop_lsb(&pinners)) & pieces(); if (!more_than_one(b)) - result |= b & pieces(sideToMove); + result |= b & pieces(toMove); } return result; } @@ -477,7 +477,7 @@ Bitboard Position::attacks_from(Piece p, Square s, Bitboard occ) { bool Position::legal(Move m, Bitboard pinned) const { assert(is_ok(m)); - assert(pinned == pinned_pieces()); + assert(pinned == pinned_pieces(pos.side_to_move())); Color us = sideToMove; Square from = from_sq(m); @@ -1067,7 +1067,7 @@ int Position::see(Move m, int asymmThreshold) const { from = from_sq(m); to = to_sq(m); - swapList[0] = PieceValue[MG][type_of(piece_on(to))]; + swapList[0] = PieceValue[MG][piece_on(to)]; stm = color_of(piece_on(from)); occupied = pieces() ^ from; @@ -1134,7 +1134,7 @@ int Position::see(Move m, int asymmThreshold) const { // Having built the swap list, we negamax through it to find the best // achievable score from the point of view of the side to move. while (--slIndex) - swapList[slIndex-1] = std::min(-swapList[slIndex], swapList[slIndex-1]); + swapList[slIndex - 1] = std::min(-swapList[slIndex], swapList[slIndex - 1]); return swapList[0]; }