summaryrefslogtreecommitdiff
path: root/apps/plugins/puzzles/src/latin.h
diff options
context:
space:
mode:
authorFranklin Wei <franklin@rockbox.org>2020-06-25 14:44:33 -0400
committerFranklin Wei <franklin@rockbox.org>2020-06-25 18:45:58 +0000
commit48b0ef1cf22ec37927116ac83ea7c7cfc1f9083e (patch)
tree148ced6ae04e578abc38a38e92879fa13b97a604 /apps/plugins/puzzles/src/latin.h
parentdd3a8e08988308cf88c10a44176d83a8a152ec4a (diff)
downloadrockbox-48b0ef1cf22ec37927116ac83ea7c7cfc1f9083e.tar.gz
rockbox-48b0ef1cf22ec37927116ac83ea7c7cfc1f9083e.zip
puzzles: resync with upstream
This brings the upstream version to 9aa7b7c (with some of my changes as well). Change-Id: I5bf8a3e0b8672d82cb1bf34afc07adbe12a3ac53
Diffstat (limited to 'apps/plugins/puzzles/src/latin.h')
-rw-r--r--apps/plugins/puzzles/src/latin.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/apps/plugins/puzzles/src/latin.h b/apps/plugins/puzzles/src/latin.h
index ff6f07c922..bb172ec3c7 100644
--- a/apps/plugins/puzzles/src/latin.h
+++ b/apps/plugins/puzzles/src/latin.h
@@ -85,6 +85,7 @@ int latin_solver_diff_set(struct latin_solver *solver,
85 bool extreme); 85 bool extreme);
86 86
87typedef int (*usersolver_t)(struct latin_solver *solver, void *ctx); 87typedef int (*usersolver_t)(struct latin_solver *solver, void *ctx);
88typedef bool (*validator_t)(struct latin_solver *solver, void *ctx);
88typedef void *(*ctxnew_t)(void *ctx); 89typedef void *(*ctxnew_t)(void *ctx);
89typedef void (*ctxfree_t)(void *ctx); 90typedef void (*ctxfree_t)(void *ctx);
90 91
@@ -96,15 +97,15 @@ enum { diff_impossible = 10, diff_ambiguous, diff_unfinished };
96int latin_solver(digit *grid, int o, int maxdiff, 97int latin_solver(digit *grid, int o, int maxdiff,
97 int diff_simple, int diff_set_0, int diff_set_1, 98 int diff_simple, int diff_set_0, int diff_set_1,
98 int diff_forcing, int diff_recursive, 99 int diff_forcing, int diff_recursive,
99 usersolver_t const *usersolvers, void *ctx, 100 usersolver_t const *usersolvers, validator_t valid,
100 ctxnew_t ctxnew, ctxfree_t ctxfree); 101 void *ctx, ctxnew_t ctxnew, ctxfree_t ctxfree);
101 102
102/* Version you can call if you want to alloc and free latin_solver yourself */ 103/* Version you can call if you want to alloc and free latin_solver yourself */
103int latin_solver_main(struct latin_solver *solver, int maxdiff, 104int latin_solver_main(struct latin_solver *solver, int maxdiff,
104 int diff_simple, int diff_set_0, int diff_set_1, 105 int diff_simple, int diff_set_0, int diff_set_1,
105 int diff_forcing, int diff_recursive, 106 int diff_forcing, int diff_recursive,
106 usersolver_t const *usersolvers, void *ctx, 107 usersolver_t const *usersolvers, validator_t valid,
107 ctxnew_t ctxnew, ctxfree_t ctxfree); 108 void *ctx, ctxnew_t ctxnew, ctxfree_t ctxfree);
108 109
109void latin_solver_debug(unsigned char *cube, int o); 110void latin_solver_debug(unsigned char *cube, int o);
110 111