correct const mask names, correct doc comments about endianness

This commit is contained in:
jackjohn7 2026-04-15 02:39:31 -05:00
parent d702342ebb
commit de02670685

View file

@ -89,25 +89,24 @@ pub fn explode_board(mut b: Board) -> impl Iterator<Item = Board> {
// Positive => SHL
// Negative => SHR
// simply negating the A file
const NOT_A_FILE: Board = 0x7F7F7F7F7F7F7F7F;
const NOT_A_FILE: Board = 0xFEFEFEFEFEFEFEFE;
// simply negating the H file
const NOT_H_FILE: Board = 0xFEFEFEFEFEFEFEFE;
const NOT_H_FILE: Board = 0x7F7F7F7F7F7F7F7F;
const SHIFT_MASK_COMBOS: [(i8, Board); 8] = [
(9, NOT_A_FILE), // 9 (up right)
(9, NOT_H_FILE), // 9 (up right)
(8, Board::MAX), // 8 (up)
(7, NOT_H_FILE), // 7 (up left)
(1, NOT_A_FILE), // 1 (right)
(-1, NOT_H_FILE), // -1 (left)
(-7, NOT_A_FILE), // -7 (down right)
(7, NOT_A_FILE), // 7 (up left)
(1, NOT_H_FILE), // 1 (right)
(-1, NOT_A_FILE), // -1 (left)
(-7, NOT_H_FILE), // -7 (down right)
(-8, Board::MAX), // -8 (down)
(-9, NOT_H_FILE), // -9 (down left)
(-9, NOT_A_FILE), // -9 (down left)
];
/// Represents the board state using two integers. This allows us to reduce the
/// memory footprint by 75% when compared against using a byte[8][8] (64
/// bytes). While digits in these boards do not have _place value_ per se, it
/// still may be helpful to think of the structure as being Big Endian and
/// by that I mean to say that h8 is the leftmost bit and a1 is the rightmost.
/// bytes). This structure is identical to what the Chess world identifies as
/// Little-Endian Rank-File _LERF_.
///
/// The values are to be mapped as follows where each number indicates the bit
/// in the integer that corresponds to the position in the board:
@ -126,8 +125,8 @@ const SHIFT_MASK_COMBOS: [(i8, Board); 8] = [
///
/// =
///
/// bits: 00 01 ... 07 08 09 ... 15 ... 56 57 ... 63
/// board: a1 b1 ... h1 a2 b2 ... h2 ... a8 b8 ... h8
/// bit: 00 01 ... 07 08 09 ... 15 ... 56 57 ... 63
/// square: a1 b1 ... h1 a2 b2 ... h2 ... a8 b8 ... h8
/// ```
///
/// Note that I use the traditional nomenclature of ranks and files which