aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2010-06-27 11:17:27 +0000
committerSimon Tatham <anakin@pobox.com>2010-06-27 11:17:27 +0000
commit795ef3c137a0ead6ab058ab60d6f90bd4029ab43 (patch)
treed708f114d64847176ea3840a01316a7b12f3bf28
parent3dc6adba5ef474f5e145b22184639b7b86b329f3 (diff)
downloadpuzzles-795ef3c137a0ead6ab058ab60d6f90bd4029ab43.zip
puzzles-795ef3c137a0ead6ab058ab60d6f90bd4029ab43.tar.gz
puzzles-795ef3c137a0ead6ab058ab60d6f90bd4029ab43.tar.bz2
puzzles-795ef3c137a0ead6ab058ab60d6f90bd4029ab43.tar.xz
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. [originally from svn r8969]
-rw-r--r--unfinished/pearl.c8
1 files changed, 3 insertions, 5 deletions
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:
/*