mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 08:43:09 +00:00
Revert "Store moves sent with "position" UCI command"
This reverts commit 0d68b523a3
.
After easy move semplification this machinery is not
needed anymore (because of we don't need to know if a
root move is a recapture)
No functional change.
This commit is contained in:
parent
45dba12c5b
commit
db322e6a63
6 changed files with 7 additions and 16 deletions
|
@ -114,7 +114,6 @@ void benchmark(const Position& current, istream& is) {
|
|||
|
||||
int64_t nodes = 0;
|
||||
Search::StateStackPtr st;
|
||||
Search::MovesVectPtr mv;
|
||||
Time::point elapsed = Time::now();
|
||||
|
||||
for (size_t i = 0; i < fens.size(); i++)
|
||||
|
@ -131,7 +130,7 @@ void benchmark(const Position& current, istream& is) {
|
|||
}
|
||||
else
|
||||
{
|
||||
Threads.start_thinking(pos, limits, vector<Move>(), st, mv);
|
||||
Threads.start_thinking(pos, limits, vector<Move>(), st);
|
||||
Threads.wait_for_think_finished();
|
||||
nodes += Search::RootPos.nodes_searched();
|
||||
}
|
||||
|
|
|
@ -44,7 +44,6 @@ namespace Search {
|
|||
Color RootColor;
|
||||
Time::point SearchTime;
|
||||
StateStackPtr SetupStates;
|
||||
MovesVectPtr SetupMoves;
|
||||
}
|
||||
|
||||
using std::string;
|
||||
|
|
|
@ -93,7 +93,6 @@ struct SignalsType {
|
|||
};
|
||||
|
||||
typedef std::auto_ptr<std::stack<StateInfo> > StateStackPtr;
|
||||
typedef std::auto_ptr<std::vector<Move> > MovesVectPtr;
|
||||
|
||||
extern volatile SignalsType Signals;
|
||||
extern LimitsType Limits;
|
||||
|
@ -102,7 +101,6 @@ extern Position RootPos;
|
|||
extern Color RootColor;
|
||||
extern Time::point SearchTime;
|
||||
extern StateStackPtr SetupStates;
|
||||
extern MovesVectPtr SetupMoves;
|
||||
|
||||
extern void init();
|
||||
extern size_t perft(Position& pos, Depth depth);
|
||||
|
|
|
@ -357,8 +357,8 @@ void ThreadPool::wait_for_think_finished() {
|
|||
// start_thinking() wakes up the main thread sleeping in MainThread::idle_loop()
|
||||
// so to start a new search, then returns immediately.
|
||||
|
||||
void ThreadPool::start_thinking(const Position& pos, const LimitsType& limits, const std::vector<Move>& searchMoves,
|
||||
StateStackPtr& setupStates, MovesVectPtr& setupMoves) {
|
||||
void ThreadPool::start_thinking(const Position& pos, const LimitsType& limits,
|
||||
const std::vector<Move>& searchMoves, StateStackPtr& states) {
|
||||
wait_for_think_finished();
|
||||
|
||||
SearchTime = Time::now(); // As early as possible
|
||||
|
@ -368,8 +368,7 @@ void ThreadPool::start_thinking(const Position& pos, const LimitsType& limits, c
|
|||
|
||||
RootPos = pos;
|
||||
Limits = limits;
|
||||
SetupStates = setupStates; // Ownership transfer here
|
||||
SetupMoves = setupMoves; // Ownership transfer here
|
||||
SetupStates = states; // Ownership transfer here
|
||||
RootMoves.clear();
|
||||
|
||||
for (MoveList<LEGAL> ml(pos); !ml.end(); ++ml)
|
||||
|
|
|
@ -151,8 +151,8 @@ struct ThreadPool : public std::vector<Thread*> {
|
|||
void read_uci_options();
|
||||
Thread* available_slave(Thread* master) const;
|
||||
void wait_for_think_finished();
|
||||
void start_thinking(const Position&, const Search::LimitsType&, const std::vector<Move>&,
|
||||
Search::StateStackPtr&, Search::MovesVectPtr&);
|
||||
void start_thinking(const Position&, const Search::LimitsType&,
|
||||
const std::vector<Move>&, Search::StateStackPtr&);
|
||||
|
||||
bool sleepWhileIdle;
|
||||
Depth minimumSplitDepth;
|
||||
|
|
|
@ -42,7 +42,6 @@ namespace {
|
|||
// Keep track of position keys along the setup moves (from start position to the
|
||||
// position just before to start searching). Needed by repetition draw detection.
|
||||
Search::StateStackPtr SetupStates;
|
||||
Search::MovesVectPtr SetupMoves;
|
||||
|
||||
void set_option(istringstream& up);
|
||||
void set_position(Position& pos, istringstream& up);
|
||||
|
@ -149,13 +148,10 @@ namespace {
|
|||
|
||||
pos.set(fen, Options["UCI_Chess960"], Threads.main_thread());
|
||||
SetupStates = Search::StateStackPtr(new std::stack<StateInfo>());
|
||||
SetupMoves = Search::MovesVectPtr(new std::vector<Move>());
|
||||
SetupMoves->reserve(200); // Try to avoid reallocations
|
||||
|
||||
// Parse move list (if any)
|
||||
while (is >> token && (m = move_from_uci(pos, token)) != MOVE_NONE)
|
||||
{
|
||||
SetupMoves->push_back(m);
|
||||
SetupStates->push(StateInfo());
|
||||
pos.do_move(m, SetupStates->top());
|
||||
}
|
||||
|
@ -215,6 +211,6 @@ namespace {
|
|||
else if (token == "ponder") limits.ponder = true;
|
||||
}
|
||||
|
||||
Threads.start_thinking(pos, limits, searchMoves, SetupStates, SetupMoves);
|
||||
Threads.start_thinking(pos, limits, searchMoves, SetupStates);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue