Some minor fixes to the unfinished Pearl solver:
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sun, 27 Jun 2010 11:17:27 +0000 (11:17 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sun, 27 Jun 2010 11:17:27 +0000 (11:17 +0000)
 - move critical correctness checks out of diagnostic ifdefs (ahem)
 - move declarations to before conditionally compiled code (we don't
   build in C99 mode round here)
 - tidy up an unsightly blank line while I'm here.

git-svn-id: svn://svn.tartarus.org/sgt/puzzles@8969 cda61777-01e9-0310-a592-d414129be87e

unfinished/pearl.c

index 41ab998..bd40dba 100644 (file)
@@ -217,6 +217,7 @@ int pearl_solve(int w, int h, char *clues, char *result)
      * Now repeatedly try to find something we can do.
      */
     while (1) {
+       int done_something = FALSE;
 
 #ifdef SOLVER_DIAGNOSTICS
        for (y = 0; y < H; y++) {
@@ -226,8 +227,6 @@ int pearl_solve(int w, int h, char *clues, char *result)
        }
 #endif
 
-       int done_something = FALSE;
-
        /*
         * Go through the square state words, and discard any
         * square state which is inconsistent with known facts
@@ -267,9 +266,9 @@ int pearl_solve(int w, int h, char *clues, char *result)
                if (!workspace[(2*y+1)*W+(2*x+1)]) {
 #ifdef SOLVER_DIAGNOSTICS
                    printf("edge check at (%d,%d): inconsistency\n", x, y);
+#endif
                    ret = 0;
                    goto cleanup;
-#endif
                }
            }
 
@@ -298,9 +297,9 @@ int pearl_solve(int w, int h, char *clues, char *result)
                if (edgeand & ~edgeor) {
 #ifdef SOLVER_DIAGNOSTICS
                    printf("square check at (%d,%d): inconsistency\n", x, y);
+#endif
                    ret = 0;
                    goto cleanup;
-#endif
                }
 
                for (d = 1; d <= 8; d += d) {
@@ -385,7 +384,6 @@ int pearl_solve(int w, int h, char *clues, char *result)
                        }
                    }
 
-
                    break;
                  case STRAIGHT:
                    /*