From 625bfb2446de4e3a7502714523e82fe6b224fd85 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Wed, 24 Jan 2024 08:35:22 -0800 Subject: [PATCH] [bitboard] Move everything in board::bitboard to the bitboard crate --- .../bitboard => bitboard/src}/bit_scanner.rs | 0 .../src/bitboard => bitboard/src}/bitboard.rs | 13 +++++++------ bitboard/src/lib.rs | 17 +++++++++++++++++ {board/src/bitboard => bitboard/src}/library.rs | 2 +- {board/src/bitboard => bitboard/src}/shifts.rs | 0 board/src/bitboard/mod.rs | 16 ---------------- board/src/lib.rs | 2 -- 7 files changed, 25 insertions(+), 25 deletions(-) rename {board/src/bitboard => bitboard/src}/bit_scanner.rs (100%) rename {board/src/bitboard => bitboard/src}/bitboard.rs (96%) rename {board/src/bitboard => bitboard/src}/library.rs (99%) rename {board/src/bitboard => bitboard/src}/shifts.rs (100%) delete mode 100644 board/src/bitboard/mod.rs diff --git a/board/src/bitboard/bit_scanner.rs b/bitboard/src/bit_scanner.rs similarity index 100% rename from board/src/bitboard/bit_scanner.rs rename to bitboard/src/bit_scanner.rs diff --git a/board/src/bitboard/bitboard.rs b/bitboard/src/bitboard.rs similarity index 96% rename from board/src/bitboard/bitboard.rs rename to bitboard/src/bitboard.rs index 5c35ca8..730c7c2 100644 --- a/board/src/bitboard/bitboard.rs +++ b/bitboard/src/bitboard.rs @@ -1,8 +1,8 @@ // Eryn Wells -use super::library::{library, FILES, RANKS}; -use super::LeadingBitScanner; -use crate::{square::Direction, Square}; +use crate::library::{library, FILES, RANKS}; +use crate::LeadingBitScanner; +use chess_core::{Direction, Square}; use std::fmt; use std::ops::Not; @@ -72,13 +72,13 @@ impl BitBoard { /// Return an Iterator over the occupied squares, starting from the leading /// (most-significant bit) end of the field. pub(crate) fn occupied_squares(&self) -> impl Iterator { - LeadingBitScanner::new(self.0).map(Square::from_index) + LeadingBitScanner::new(self.0).map(|idx| unsafe { Square::from_index(idx as u8) }) } /// Return an Iterator over the occupied squares, starting from the trailing /// (least-significant bit) end of the field. pub(crate) fn occupied_squares_trailing(&self) -> impl Iterator { - LeadingBitScanner::new(self.0).map(Square::from_index) + LeadingBitScanner::new(self.0).map(|idx| unsafe { Square::from_index(idx as u8) }) } } @@ -243,7 +243,8 @@ impl BitBoardBuilder { #[cfg(test)] mod tests { use super::*; - use crate::{bitboard, Square}; + use crate::bitboard; + use chess_core::Square; #[test] fn display_and_debug() { diff --git a/bitboard/src/lib.rs b/bitboard/src/lib.rs index 8aa971d..d3c0c4b 100644 --- a/bitboard/src/lib.rs +++ b/bitboard/src/lib.rs @@ -1 +1,18 @@ // Eryn Wells + +mod bit_scanner; +mod bitboard; +mod library; +mod shifts; + +pub(crate) use bit_scanner::{LeadingBitScanner, TrailingBitScanner}; +pub(crate) use bitboard::{BitBoard, BitBoardBuilder}; + +#[macro_export] +macro_rules! bitboard { + ($($sq:ident),* $(,)?) => { + $crate::bitboard::BitBoardBuilder::empty() + $(.square(chess_core::Square::$sq))* + .build() + }; +} diff --git a/board/src/bitboard/library.rs b/bitboard/src/library.rs similarity index 99% rename from board/src/bitboard/library.rs rename to bitboard/src/library.rs index fe2daa0..1e6a84d 100644 --- a/board/src/bitboard/library.rs +++ b/bitboard/src/library.rs @@ -1,7 +1,7 @@ // Eryn Wells use super::BitBoard; -use crate::{square::Direction, Square}; +use chess_core::{Direction, Square}; use std::sync::Once; pub(super) const RANKS: [BitBoard; 8] = [ diff --git a/board/src/bitboard/shifts.rs b/bitboard/src/shifts.rs similarity index 100% rename from board/src/bitboard/shifts.rs rename to bitboard/src/shifts.rs diff --git a/board/src/bitboard/mod.rs b/board/src/bitboard/mod.rs deleted file mode 100644 index c417abd..0000000 --- a/board/src/bitboard/mod.rs +++ /dev/null @@ -1,16 +0,0 @@ -mod bit_scanner; -mod bitboard; -mod library; -mod shifts; - -pub(crate) use bit_scanner::{LeadingBitScanner, TrailingBitScanner}; -pub(crate) use bitboard::{BitBoard, BitBoardBuilder}; - -#[macro_export] -macro_rules! bitboard { - ($($sq:ident),* $(,)?) => { - $crate::bitboard::BitBoardBuilder::empty() - $(.square($crate::Square::$sq))* - .build() - }; -} diff --git a/board/src/lib.rs b/board/src/lib.rs index 670368f..2ed3495 100644 --- a/board/src/lib.rs +++ b/board/src/lib.rs @@ -2,8 +2,6 @@ pub mod fen; -#[macro_use] -mod bitboard; mod display; mod r#move; #[macro_use]