Do not probe syzygy bases when castling is possible

Almost no functional change. Bench is unchanged.

Resolves #230
Resolves #573
This commit is contained in:
Joona Kiiski
2016-01-20 15:24:21 +00:00
committed by Joona Kiiski
parent 28933a580e
commit 8c3a5bbc52

View File

@@ -256,8 +256,9 @@ void MainThread::search() {
}
else
{
if (TB::Cardinality >= rootPos.count<ALL_PIECES>(WHITE)
+ rootPos.count<ALL_PIECES>(BLACK))
if ( TB::Cardinality >= rootPos.count<ALL_PIECES>(WHITE)
+ rootPos.count<ALL_PIECES>(BLACK)
&& !rootPos.can_castle(ANY_CASTLING))
{
// If the current root position is in the tablebases, then RootMoves
// contains only moves that preserve the draw or the win.
@@ -691,7 +692,8 @@ namespace {
if ( piecesCnt <= TB::Cardinality
&& (piecesCnt < TB::Cardinality || depth >= TB::ProbeDepth)
&& pos.rule50_count() == 0)
&& pos.rule50_count() == 0
&& !pos.can_castle(ANY_CASTLING))
{
int found, v = Tablebases::probe_wdl(pos, &found);