diff options
| author | Simon Tatham <anakin@pobox.com> | 2018-11-13 21:42:28 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2018-11-13 21:48:24 +0000 |
| commit | 08915945e64d2d3dfea7ec426228f814a6e65adf (patch) | |
| tree | 9bb9fd997ac278a011acdc0a5f87aef4d92fdbd1 | |
| parent | 33b55db48e9573c6c825e3a222ff968f6a0bd4f4 (diff) | |
| download | puzzles-08915945e64d2d3dfea7ec426228f814a6e65adf.zip puzzles-08915945e64d2d3dfea7ec426228f814a6e65adf.tar.gz puzzles-08915945e64d2d3dfea7ec426228f814a6e65adf.tar.bz2 puzzles-08915945e64d2d3dfea7ec426228f814a6e65adf.tar.xz | |
Adopt C99 bool in the shared Latin-square API.
latin_check now returns bool, and latin_solver_diff_set takes a bool
'extreme' flag. Should be non-disruptive.
| -rw-r--r-- | latin.c | 12 | ||||
| -rw-r--r-- | latin.h | 4 |
2 files changed, 8 insertions, 8 deletions
@@ -650,7 +650,7 @@ int latin_solver_diff_simple(struct latin_solver *solver) int latin_solver_diff_set(struct latin_solver *solver, struct latin_solver_scratch *scratch, - int extreme) + bool extreme) { int x, y, n, ret, o = solver->o; #ifdef STANDALONE_SOLVER @@ -1244,12 +1244,12 @@ static int latin_check_cmp(void *v1, void *v2) #define ELT(sq,x,y) (sq[((y)*order)+(x)]) -/* returns non-zero if sq is not a latin square. */ -int latin_check(digit *sq, int order) +/* returns true if sq is not a latin square. */ +bool latin_check(digit *sq, int order) { tree234 *dict = newtree234(latin_check_cmp); int c, r; - int ret = 0; + bool ret = false; lcparams *lcp, lc, *aret; /* Use a tree234 as a simple hash table, go through the square @@ -1272,10 +1272,10 @@ int latin_check(digit *sq, int order) /* There should be precisely 'order' letters in the alphabet, * each occurring 'order' times (making the OxO tree) */ - if (count234(dict) != order) ret = 1; + if (count234(dict) != order) ret = true; else { for (c = 0; (lcp = index234(dict, c)) != NULL; c++) { - if (lcp->count != order) ret = 1; + if (lcp->count != order) ret = true; } } for (c = 0; (lcp = index234(dict, c)) != NULL; c++) @@ -82,7 +82,7 @@ int latin_solver_diff_simple(struct latin_solver *solver); * single-number elimination. */ int latin_solver_diff_set(struct latin_solver *solver, struct latin_solver_scratch *scratch, - int extreme); + bool extreme); typedef int (*usersolver_t)(struct latin_solver *solver, void *ctx); typedef void *(*ctxnew_t)(void *ctx); @@ -115,7 +115,7 @@ digit *latin_generate(int o, random_state *rs); /* The order of the latin rectangle is max(w,h). */ digit *latin_generate_rect(int w, int h, random_state *rs); -int latin_check(digit *sq, int order); /* !0 => not a latin square */ +bool latin_check(digit *sq, int order); /* true => not a latin square */ void latin_debug(digit *sq, int order); |