/*
Stockfish, a UCI chess playing engine derived from Glaurung 2.1
Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
- Copyright (C) 2008-2010 Marco Costalba, Joona Kiiski, Tord Romstad
+ Copyright (C) 2008-2012 Marco Costalba, Joona Kiiski, 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
RootMove(){}
RootMove(Move m) {
- nodes = 0;
score = prevScore = -VALUE_INFINITE;
pv.push_back(m);
pv.push_back(MOVE_NONE);
void extract_pv_from_tt(Position& pos);
void insert_pv_in_tt(Position& pos);
- int64_t nodes;
Value score;
Value prevScore;
std::vector<Move> pv;
assert(pos.thread() >= 0 && pos.thread() < Threads.size());
Move movesSearched[MAX_MOVES];
- int64_t nodes;
StateInfo st;
const TTEntry *tte;
Key posKey;
if (RootNode)
{
Signals.firstRootMove = (moveCount == 1);
- nodes = pos.nodes_searched();
if (pos.thread() == 0 && elapsed_time() > 2000)
cout << "info depth " << depth / ONE_PLY
if (RootNode && !Signals.stop)
{
RootMove& rm = *find(RootMoves.begin(), RootMoves.end(), move);
- rm.nodes += pos.nodes_searched() - nodes;
// PV move or new best move ?
if (isPvMove || value > alpha)