Remove Stack/thread dependence in movepick

as a lower level routine, movepicker should not depend on the
search stack or the thread class, removing a circular dependency.
Instead of copying the search stack into the movepicker object,
as well as accessing the thread class for one of the histories,
pass the required fields explicitly to the constructor (removing
the need for thread.h and implicitly search.h in movepick.cpp).
The signature is thus longer, but more explicit:

Also some renaming of histories structures while there.

passed STC [-3,1], suggesting a small elo impact:

LLR: 3.13 (-2.94,2.94) [-3.00,1.00]
Total: 381053 W: 68071 L: 68551 D: 244431
elo =   -0.438 +-    0.660 LOS:    9.7%

No functional change.
This commit is contained in:
Joost VandeVondele
2017-06-30 17:20:00 +02:00
committed by Marco Costalba
parent 53c2d9df5e
commit b40e45c1cc
5 changed files with 71 additions and 87 deletions

View File

@@ -67,9 +67,9 @@ public:
Search::RootMoves rootMoves;
Depth rootDepth;
Depth completedDepth;
CounterMoveStat counterMoves;
ButterflyHistory history;
CounterMoveHistoryStat counterMoveHistory;
CounterMoveHistory counterMoves;
ButterflyHistory mainHistory;
ContinuationHistory contHistory;
};