Remove Stack/thread dependence in movepick
authorJoost VandeVondele <Joost.VandeVondele@gmail.com>
Fri, 30 Jun 2017 15:20:00 +0000 (17:20 +0200)
committerMarco Costalba <mcostalba@gmail.com>
Sun, 6 Aug 2017 08:45:54 +0000 (01:45 -0700)
commitb40e45c1cc51bd228898314264d6d241478b23d8
treeaa5d5df7892846b2a8d2f3060fac78b8561dfb38
parent53c2d9df5e76caa3d8f2421ff5430fd90bb8cc64
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.
src/movepick.cpp
src/movepick.h
src/search.cpp
src/search.h
src/thread.h