Sync with master
authorMarco Costalba <mcostalba@gmail.com>
Sat, 7 Feb 2015 09:31:47 +0000 (10:31 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Sat, 7 Feb 2015 09:32:28 +0000 (10:32 +0100)
bench: 7696257

1  2 
src/Makefile
src/material.cpp

diff --cc src/Makefile
Simple merge
@@@ -139,20 -136,15 +136,15 @@@ Entry* probe(const Position& pos) 
    // Let's look if we have a specialized evaluation function for this particular
    // material configuration. Firstly we look for a fixed configuration one, then
    // for a generic one if the previous search failed.
 -  if (pos.this_thread()->endgames.probe(key, e->evaluationFunction))
 +  if ((e->evaluationFunction = pos.this_thread()->endgames.probe<Value>(key)) != nullptr)
        return e;
  
-   if (is_KXK<WHITE>(pos))
-   {
-       e->evaluationFunction = &EvaluateKXK[WHITE];
-       return e;
-   }
-   if (is_KXK<BLACK>(pos))
-   {
-       e->evaluationFunction = &EvaluateKXK[BLACK];
-       return e;
-   }
+   for (Color c = WHITE; c <= BLACK; ++c)
+       if (is_KXK(pos, c))
+       {
+           e->evaluationFunction = &EvaluateKXK[c];
+           return e;
+       }
  
    // OK, we didn't find any special evaluation function for the current material
    // configuration. Is there a suitable specialized scaling function?