chiark / gitweb /
Some minor fixes to the unfinished Pearl solver:
authorSimon Tatham <anakin@pobox.com>
Sun, 27 Jun 2010 11:17:27 +0000 (11:17 +0000)
committerSimon Tatham <anakin@pobox.com>
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.

[originally from svn r8969]

unfinished/pearl.c

index 41ab998f9d60b207cd1b77eaafcfc8ecb07982cd..bd40dba66a9647b2f501fa58f70004a1ab39446e 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:
                    /*