X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fposition.cpp;h=7c5ffdc5f6adcc905a2a98adb2e5b5cd60e1e4bc;hb=8ceb1ff53bf4b9aa9609d39f11bcb540a70ce4a5;hp=fd518488e3384c38397243bd0610dab6134af73f;hpb=797602938da5087d0af2448a72767cb17cd8c248;p=stockfish diff --git a/src/position.cpp b/src/position.cpp index fd518488..7c5ffdc5 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -45,7 +45,7 @@ namespace Zobrist { Key psq[PIECE_NB][SQUARE_NB]; Key enpassant[FILE_NB]; Key castling[CASTLING_RIGHT_NB]; - Key side; + Key side, noPawns; } namespace { @@ -145,6 +145,7 @@ void Position::init() { } Zobrist::side = rng.rand(); + Zobrist::noPawns = rng.rand(); } @@ -331,7 +332,8 @@ void Position::set_check_info(StateInfo* si) const { void Position::set_state(StateInfo* si) const { - si->key = si->pawnKey = si->materialKey = 0; + si->key = si->materialKey = 0; + si->pawnKey = Zobrist::noPawns; si->nonPawnMaterial[WHITE] = si->nonPawnMaterial[BLACK] = VALUE_ZERO; si->psq = SCORE_ZERO; si->checkersBB = attackers_to(square(sideToMove)) & pieces(~sideToMove);