X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fposition.cpp;h=8e7a5aa5d24de004688134b12dbbe75d9c902697;hb=33d95482182e459eb033de47a31f142880aa9afb;hp=29a2b314741f8f5db6ebc920d8c76c2881cf8a37;hpb=a781535168a9ef5ee3602ec495a21bc1838d457a;p=stockfish diff --git a/src/position.cpp b/src/position.cpp index 29a2b314..8e7a5aa5 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -2,7 +2,7 @@ Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) Copyright (C) 2008-2015 Marco Costalba, Joona Kiiski, Tord Romstad - Copyright (C) 2015-2018 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad + Copyright (C) 2015-2019 Marco Costalba, Joona Kiiski, Gary Linscott, 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 @@ -168,6 +168,8 @@ void Position::init() { Zobrist::noPawns = rng.rand(); // Prepare the cuckoo tables + std::memset(cuckoo, 0, sizeof(cuckoo)); + std::memset(cuckooMove, 0, sizeof(cuckooMove)); int count = 0; for (Piece pc : Pieces) for (Square s1 = SQ_A1; s1 <= SQ_H8; ++s1) @@ -577,6 +579,7 @@ bool Position::legal(Move m) const { /// Position::pseudo_legal() takes a random move and tests whether the move is /// pseudo legal. It is used to validate moves from TT that can be corrupted /// due to SMP concurrent access or hash position key aliasing. +/// MOVE_NONE is represented as SQ_A1 to SQ_A1 which is never pseudo_legal. bool Position::pseudo_legal(const Move m) const {