]> git.sesse.net Git - stockfish/blobdiff - src/search.cpp
Remove unnecessary conditions from if-clauses and replace them with asserts
[stockfish] / src / search.cpp
index 974267a635eb01eed4431ae61a84e6cf0c70ce9c..775ad3effeddd7275f3f1769fa3bf350d8dcb412 100644 (file)
@@ -2583,17 +2583,18 @@ namespace {
     {
         // Slave threads can exit as soon as AllThreadsShouldExit raises,
         // master should exit as last one.
-        if (AllThreadsShouldExit && !waitSp)
+        if (AllThreadsShouldExit)
         {
+            assert(!waitSp);
             threads[threadID].state = THREAD_TERMINATED;
             return;
         }
 
         // If we are not thinking, wait for a condition to be signaled
         // instead of wasting CPU time polling for work.
-        while (    threadID != 0
-               && (AllThreadsShouldSleep || threadID >= ActiveThreads))
+        while (AllThreadsShouldSleep || threadID >= ActiveThreads)
         {
+            assert(threadID != 0);
             threads[threadID].state = THREAD_SLEEPING;
 
 #if !defined(_MSC_VER)
@@ -2613,7 +2614,7 @@ namespace {
         // If this thread has been assigned work, launch a search
         if (threads[threadID].state == THREAD_WORKISWAITING)
         {
-            assert(!AllThreadsShouldExit);
+            assert(!AllThreadsShouldExit && !AllThreadsShouldSleep);
 
             threads[threadID].state = THREAD_SEARCHING;
 
@@ -2819,7 +2820,9 @@ namespace {
     assert(p.is_ok());
     assert(sstck != NULL);
     assert(ply >= 0 && ply < PLY_MAX);
-    assert(*bestValue >= -VALUE_INFINITE && *bestValue <= *alpha);
+    assert(*bestValue >= -VALUE_INFINITE);
+    assert(   ( pvNode && *bestValue <= *alpha)
+           || (!pvNode && *bestValue <   beta ));
     assert(!pvNode || *alpha < beta);
     assert(beta <= VALUE_INFINITE);
     assert(depth > Depth(0));