Don't double check for move legality
authorMarco Costalba <mcostalba@gmail.com>
Tue, 27 Nov 2012 19:05:03 +0000 (20:05 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Tue, 27 Nov 2012 19:05:03 +0000 (20:05 +0100)
In case of a RootNode or a SpNode move has
been already checked for legality so we can
skip a redundant check.

Spotted by Frank Genot.

No functional change.

src/search.cpp

index 3116e80e8b6f2b7ba66eebab3282c59b79cd534c..da20f15e3352964a596137a7f581e2e885b9e6ed 100644 (file)
@@ -893,7 +893,7 @@ split_point_start: // At split points actual search starts from here
       }
 
       // Check for legality only before to do the move
-      if (!pos.pl_move_is_legal(move, ci.pinned))
+      if (!RootNode && !SpNode && !pos.pl_move_is_legal(move, ci.pinned))
       {
           moveCount--;
           continue;