本页面列举一些本项目会用到的一些类型别名,作用于全局的别名。
Mask
类型全局声明:global using Mask = short;
Mask
类型表示的是项目里用到的掩码数据。它们在默认情况下,表示的是候选数存在与否的状态二进制序列。由于 9 阶数独一共有 9 个数字状态,因此会用到 9 个比特位,所以 Mask
的最小实现是 short
类型。
Cell
类型全局声明:global using Cell = int;
Cell
类型表示的是单元格数据。单元格一般只有 81 个单元格,但它非常常见,因此它的等价类型为 int
。
Digit
类型全局声明:global using Digit = int;
Digit
类型表示的是单元格里的填数,它可以为 -1,表示空格;0 到 8 则表示数字 1 到 9。它的等价类型为 int
。
Candidate
类型全局声明:global using Digit = int;
Candidate
类型表示的是候选数的情况,它的取值范围是 0 到 728,表示的是全盘 729 个候选数,每一个的索引。它的等价类型为 int
。
House
类型全局声明:global using House = int;
House
类型表示的是区域的索引。数独盘面一共有 9 个行、9 个列和 9 个宫,一共 27 个区域。House
的取值范围也是 0 到 26。其中:
它的等价类型为 int
。