- Skill(int l, size_t rootSize) : level(l),
- candidates(l < 20 ? std::min(4, (int)rootSize) : 0),
- best(MOVE_NONE) {}
- ~Skill() {
- if (candidates) // Swap best PV line with the sub-optimal one
- std::swap(RootMoves[0], *std::find(RootMoves.begin(),
- RootMoves.end(), best ? best : pick_move()));
- }
-
- size_t candidates_size() const { return candidates; }