X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbook.cpp;h=ec0a0f83bddbb24ebfa024553868c11f96c2b01f;hp=b8bce9e1d07ba3e6630ee9e8746f5294187bc46a;hb=f86d2aee29d9fd86a29e976698c76afc2a187903;hpb=9a1d5f0f1d8a12a85b198688d4f1d636a146eb7a diff --git a/src/book.cpp b/src/book.cpp index b8bce9e1..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,9 +436,9 @@ 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 ml(pos); !ml.end(); ++ml) - if (move == (ml.move() ^ type_of(ml.move()))) - return ml.move(); + for (MoveList it(pos); *it; ++it) + if (move == (*it ^ type_of(*it))) + return *it; return MOVE_NONE; }