Add filled() function as a faster alternative to check()

This commit is contained in:
Camden Dixie O'Brien 2022-11-23 22:18:07 +00:00
parent 9bc49daf4c
commit f7d132397f
2 changed files with 17 additions and 1 deletions

11
sud.c
View File

@ -241,3 +241,14 @@ enum check_res check(const struct sudoku *sud)
/* If we've got this far, all is well. */
return SOLVED;
}
bool filled(const struct sudoku *sud)
{
for (unsigned r = 0; r < NDIGITS; ++r) {
for (unsigned c = 0; c < NDIGITS; ++c) {
if (!sud->cells[r][c].det)
return false;
}
}
return true;
}

5
sud.h
View File

@ -73,4 +73,9 @@ void print(const struct sudoku *sud);
*/
enum check_res check(const struct sudoku *sud);
/**
* Determine whether all the sudoku's cells have been determined.
*/
bool filled(const struct sudoku *sud);
#endif