Rewrite previous patch removing the macro
authorMarco Costalba <mcostalba@gmail.com>
Sat, 8 Feb 2014 12:21:50 +0000 (13:21 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Sat, 8 Feb 2014 12:27:44 +0000 (13:27 +0100)
No functional change.

src/search.cpp

index 95f1332..0b57c1f 100644 (file)
@@ -51,12 +51,6 @@ using std::string;
 using Eval::evaluate;
 using namespace Search;
 
-// Fast wrapper for common case of pos.gives_check()
-#define FAST_GIVES_CHECK(pos, m, ci) \
-    ((type_of(m) == NORMAL && ci.dcCandidates == 0) \
-       ? (ci.checkSq[type_of(pos.piece_on(from_sq(m)))] & to_sq(m)) \
-          : pos.gives_check(m, ci))
-
 namespace {
 
   // Set to true to force running with one thread. Used for debugging
@@ -760,7 +754,11 @@ moves_loop: // When in check and at SpNode search starts from here
 
       ext = DEPTH_ZERO;
       captureOrPromotion = pos.capture_or_promotion(move);
-      givesCheck = FAST_GIVES_CHECK(pos, move, ci);
+
+      givesCheck =  type_of(move) == NORMAL && !ci.dcCandidates
+                  ? ci.checkSq[type_of(pos.piece_on(from_sq(move)))] & to_sq(move)
+                  : pos.gives_check(move, ci);
+
       dangerous =   givesCheck
                  || type_of(move) != NORMAL
                  || pos.advanced_pawn_push(move);
@@ -1140,7 +1138,9 @@ moves_loop: // When in check and at SpNode search starts from here
     {
       assert(is_ok(move));
 
-      givesCheck = FAST_GIVES_CHECK(pos, move, ci);
+      givesCheck =  type_of(move) == NORMAL && !ci.dcCandidates
+                  ? ci.checkSq[type_of(pos.piece_on(from_sq(move)))] & to_sq(move)
+                  : pos.gives_check(move, ci);
 
       // Futility pruning
       if (   !PvNode