X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbook.cpp;h=ec0a0f83bddbb24ebfa024553868c11f96c2b01f;hp=b906d766779ae8fbd391ef2d99b066dd44428ee4;hb=f86d2aee29d9fd86a29e976698c76afc2a187903;hpb=8ceef922662c75c33d105d99732475c125b01081 diff --git a/src/book.cpp b/src/book.cpp index b906d766..ec0a0f83 100644 --- a/src/book.cpp +++ b/src/book.cpp @@ -361,7 +361,7 @@ PolyglotBook::~PolyglotBook() { if (is_open()) close(); } template PolyglotBook& PolyglotBook::operator>>(T& n) { n = 0; - for (size_t i = 0; i < sizeof(T); i++) + for (size_t i = 0; i < sizeof(T); ++i) n = T((n << 8) + ifstream::get()); return *this; @@ -413,7 +413,7 @@ Move PolyglotBook::probe(const Position& pos, const string& fName, bool pickBest // Choose book move according to its score. If a move has a very // high score it has higher probability to be choosen than a move // with lower score. Note that first entry is always chosen. - if ( (sum && rkiss.rand() % sum < e.count) + if ( (!pickBest && sum && rkiss.rand() % sum < e.count) || (pickBest && e.count == best)) move = Move(e.move); } @@ -436,7 +436,7 @@ Move PolyglotBook::probe(const Position& pos, const string& fName, bool pickBest move = make(from_sq(move), to_sq(move), PieceType(pt + 1)); // Add 'special move' flags and verify it is legal - for (MoveList it(pos); !it.end(); ++it) + for (MoveList it(pos); *it; ++it) if (move == (*it ^ type_of(*it))) return *it;