diff --git a/src/main.c b/src/main.c index f0e9900..df1eaca 100644 --- a/src/main.c +++ b/src/main.c @@ -7,7 +7,7 @@ int main(int argc, char **argv) { (void)argc, (void)argv; - u16 board[SUDOKU_DEPTH_2] = { + u16 board[SUDOKU_LEN] = { // clang-format off 0x010, 0x004, 0x000, 0x000, 0x040, 0x000, 0x000, 0x000, 0x000, 0x020, 0x000, 0x000, 0x001, 0x100, 0x010, 0x000, 0x000, 0x000, diff --git a/src/sudoku.c b/src/sudoku.c index b20abc1..02e61ef 100644 --- a/src/sudoku.c +++ b/src/sudoku.c @@ -14,18 +14,18 @@ static inline void setbrdpos(u16 *brd, u16 val) { } void sudoku_place(u16 *brd, u16 val, uint idx) { - uint icol = idx % SUDOKU_DEPTH; + uint icol = idx % SUDOKU_DPT; uint irow = idx - icol; - uint ibox = idx - (idx % SUDOKU_DEPTH_SQRT); - for (uint i = 0; i < SUDOKU_DEPTH; i++) { + uint ibox = idx - (idx % SUDOKU_BOXLEN); + for (uint i = 0; i < SUDOKU_DPT; i++) { setbrdpos(&brd[irow + i], val); - setbrdpos(&brd[icol + (i * SUDOKU_DEPTH)], val); - setbrdpos(&brd[ibox + (i / SUDOKU_DEPTH_SQRT * SUDOKU_DEPTH) + (i % SUDOKU_DEPTH_SQRT)], val); + setbrdpos(&brd[icol + (i * SUDOKU_DPT)], val); + setbrdpos(&brd[ibox + (i / SUDOKU_BOXLEN * SUDOKU_DPT) + (i % SUDOKU_BOXLEN)], val); } } void sudoku_solve_step(u16 *board) { - for (uint i = 0; i < SUDOKU_DEPTH_2; i++) { + for (uint i = 0; i < SUDOKU_LEN; i++) { board[i] |= SUDOKU_ALL & -!board[i]; switch (board[i]) { @@ -45,7 +45,7 @@ void sudoku_solve_step(u16 *board) { void sudoku_print(const u16 *board) { printf("+———-———-———-———-———-———-———-———-———+\n"); - for (uint i = 0; i < SUDOKU_DEPTH_2; i++) { + for (uint i = 0; i < SUDOKU_LEN; i++) { char tile; switch (board[i]) { case 0: tile = 'x'; break; diff --git a/src/sudoku.h b/src/sudoku.h index b9df4c3..d49e62f 100644 --- a/src/sudoku.h +++ b/src/sudoku.h @@ -4,9 +4,9 @@ #include "util/intdef.h" -#define SUDOKU_DEPTH_SQRT 3 -#define SUDOKU_DEPTH (SUDOKU_DEPTH_SQRT * SUDOKU_DEPTH_SQRT) -#define SUDOKU_DEPTH_2 (SUDOKU_DEPTH * SUDOKU_DEPTH) +#define SUDOKU_BOXLEN 3 +#define SUDOKU_DPT 9 +#define SUDOKU_LEN (SUDOKU_DPT * SUDOKU_DPT) /* bitmask */ enum sudoku_bitmask {