From: simon Date: Sun, 27 Jun 2010 11:17:27 +0000 (+0000) Subject: Some minor fixes to the unfinished Pearl solver: X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/commitdiff_plain/ffb5d90c357b7d13ba1f2ca13e7ef29b934a845f Some minor fixes to the unfinished Pearl solver: - 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 --- diff --git a/unfinished/pearl.c b/unfinished/pearl.c index 41ab998..bd40dba 100644 --- a/unfinished/pearl.c +++ b/unfinished/pearl.c @@ -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: /*