shithub: puzzles

Download patch

ref: bd5c0a37a019c540eda05f8291cad90ffd598134
parent: 49841bd0fc04490d94cf32c0e6f9d3f4ffabe098
author: Simon Tatham <anakin@pobox.com>
date: Wed Feb 8 13:22:23 EST 2023

Unequal: fix sense error in latin_solver_alloc fix.

In commit 5030d87903191d5 I gave latin_solver_alloc a return value,
and introduced a check of that value at every call site. One of the
checks was backwards, with the effect that Unequal game generation now
more or less always fails an assertion. For example:

$ unequal --generate 1 4#12345
unequal: unequal.c:1072: gg_best_clue: Assertion `best != -1' failed.

--- a/unequal.c
+++ b/unequal.c
@@ -890,7 +890,7 @@
     struct latin_solver solver;
     int diff;
 
-    if (!latin_solver_alloc(&solver, state->nums, state->order))
+    if (latin_solver_alloc(&solver, state->nums, state->order))
         diff = latin_solver_main(&solver, maxdiff,
                                  DIFF_LATIN, DIFF_SET, DIFF_EXTREME,
                                  DIFF_EXTREME, DIFF_RECURSIVE,