From 5961b1bcd5b8a766016b0e3392ec294c6e1e6664 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sun, 14 Jan 2024 10:57:22 -0800 Subject: [PATCH] [board] Export BitBoard directly off of the crate for internal use Update all the imports to import from the crate directly. --- board/src/bitboard/mod.rs | 4 ++-- board/src/lib.rs | 2 ++ board/src/moves/bishop.rs | 6 ++---- board/src/moves/king.rs | 3 +-- board/src/moves/knight.rs | 3 +-- board/src/moves/mod.rs | 9 ++++----- board/src/moves/move_set.rs | 2 +- board/src/moves/pawn.rs | 3 +-- board/src/moves/queen.rs | 6 ++---- board/src/moves/rook.rs | 6 ++---- board/src/position/pieces.rs | 2 +- board/src/position/position.rs | 3 +-- 12 files changed, 20 insertions(+), 29 deletions(-) diff --git a/board/src/bitboard/mod.rs b/board/src/bitboard/mod.rs index f462e3b..6093fa8 100644 --- a/board/src/bitboard/mod.rs +++ b/board/src/bitboard/mod.rs @@ -3,5 +3,5 @@ mod bitboard; mod library; mod shifts; -pub(crate) use self::bit_scanner::{LeadingBitScanner, TrailingBitScanner}; -pub(crate) use self::bitboard::BitBoard; +pub(crate) use bit_scanner::{LeadingBitScanner, TrailingBitScanner}; +pub(crate) use bitboard::BitBoard; diff --git a/board/src/lib.rs b/board/src/lib.rs index 76b0de3..354c4e1 100644 --- a/board/src/lib.rs +++ b/board/src/lib.rs @@ -12,3 +12,5 @@ mod square; pub use moves::Move; pub use position::Position; pub use square::{File, Rank, Square}; + +pub(crate) use bitboard::BitBoard; diff --git a/board/src/moves/bishop.rs b/board/src/moves/bishop.rs index 40c5bea..6db8668 100644 --- a/board/src/moves/bishop.rs +++ b/board/src/moves/bishop.rs @@ -2,10 +2,9 @@ use super::{move_generator_declaration, MoveGeneratorInternal, MoveSet}; use crate::{ - bitboard::BitBoard, piece::{Color, Piece, PlacedPiece}, square::Direction, - Move, Position, + BitBoard, Move, Position, }; move_generator_declaration!(ClassicalMoveGenerator); @@ -64,10 +63,9 @@ impl<'pos> MoveGeneratorInternal for ClassicalMoveGenerator<'pos> { mod tests { use super::*; use crate::{ - bitboard::BitBoard, piece::{Color, Piece}, position::DiagramFormatter, - Position, Square, + BitBoard, Position, Square, }; #[test] diff --git a/board/src/moves/king.rs b/board/src/moves/king.rs index 07eda95..f3ae29a 100644 --- a/board/src/moves/king.rs +++ b/board/src/moves/king.rs @@ -5,10 +5,9 @@ use super::{move_generator_declaration, MoveGeneratorInternal, MoveSet}; use crate::{ - bitboard::BitBoard, piece::{Color, Piece, PlacedPiece}, position::BoardSide, - Move, Position, + BitBoard, Move, Position, }; move_generator_declaration!(KingMoveGenerator, struct); diff --git a/board/src/moves/knight.rs b/board/src/moves/knight.rs index 11f6134..cf50641 100644 --- a/board/src/moves/knight.rs +++ b/board/src/moves/knight.rs @@ -2,9 +2,8 @@ use super::{move_generator_declaration, MoveGeneratorInternal, MoveSet}; use crate::{ - bitboard::BitBoard, piece::{Color, Piece, PlacedPiece}, - Move, Position, + BitBoard, Move, Position, }; move_generator_declaration!(KnightMoveGenerator); diff --git a/board/src/moves/mod.rs b/board/src/moves/mod.rs index bee7170..d395991 100644 --- a/board/src/moves/mod.rs +++ b/board/src/moves/mod.rs @@ -16,9 +16,8 @@ pub use r#move::Move; pub(self) use move_set::MoveSet; use crate::{ - bitboard::BitBoard, piece::{Color, Piece, PlacedPiece}, - Position, Square, + BitBoard, Position, Square, }; use std::collections::BTreeMap; @@ -43,7 +42,7 @@ macro_rules! move_generator_declaration { }; ($name:ident, new) => { impl<'pos> $name<'pos> { - pub(super) fn new(position: &Position, color: crate::piece::Color) -> $name { + pub(super) fn new(position: &Position, color: $crate::piece::Color) -> $name { $name { position, color, @@ -58,10 +57,10 @@ macro_rules! move_generator_declaration { self.move_sets.values().map(|set| set.moves()).flatten() } - fn bitboard(&self) -> crate::bitboard::BitBoard { + fn bitboard(&self) -> $crate::BitBoard { self.move_sets .values() - .fold(crate::bitboard::BitBoard::empty(), |partial, mv_set| { + .fold($crate::BitBoard::empty(), |partial, mv_set| { partial | mv_set.bitboard() }) } diff --git a/board/src/moves/move_set.rs b/board/src/moves/move_set.rs index b3330b9..f03d177 100644 --- a/board/src/moves/move_set.rs +++ b/board/src/moves/move_set.rs @@ -1,4 +1,4 @@ -use crate::{bitboard::BitBoard, piece::PlacedPiece, Move}; +use crate::{piece::PlacedPiece, BitBoard, Move}; struct BitBoardSet { quiet: BitBoard, diff --git a/board/src/moves/pawn.rs b/board/src/moves/pawn.rs index 118ef8b..9778909 100644 --- a/board/src/moves/pawn.rs +++ b/board/src/moves/pawn.rs @@ -1,9 +1,8 @@ // Eryn Wells use crate::{ - bitboard::BitBoard, piece::{Color, Piece, Shape}, - Move, Position, + BitBoard, Move, Position, }; enum MoveList { diff --git a/board/src/moves/queen.rs b/board/src/moves/queen.rs index 770a9ae..1063653 100644 --- a/board/src/moves/queen.rs +++ b/board/src/moves/queen.rs @@ -2,10 +2,9 @@ use super::{move_generator_declaration, MoveGeneratorInternal, MoveSet}; use crate::{ - bitboard::BitBoard, piece::{Color, Piece, PlacedPiece}, square::Direction, - Move, Position, + BitBoard, Move, Position, }; move_generator_declaration!(ClassicalMoveGenerator); @@ -68,10 +67,9 @@ impl<'pos> MoveGeneratorInternal for ClassicalMoveGenerator<'pos> { mod tests { use super::*; use crate::{ - bitboard::BitBoard, piece::{Color, Piece}, position::DiagramFormatter, - Position, Square, + BitBoard, Position, Square, }; #[test] diff --git a/board/src/moves/rook.rs b/board/src/moves/rook.rs index 82b8c76..99f1823 100644 --- a/board/src/moves/rook.rs +++ b/board/src/moves/rook.rs @@ -2,10 +2,9 @@ use super::{move_generator_declaration, MoveGeneratorInternal, MoveSet}; use crate::{ - bitboard::BitBoard, piece::{Color, Piece, PlacedPiece}, square::Direction, - Move, Position, + BitBoard, Move, Position, }; move_generator_declaration!(ClassicalMoveGenerator); @@ -64,10 +63,9 @@ impl<'pos> MoveGeneratorInternal for ClassicalMoveGenerator<'pos> { mod tests { use super::*; use crate::{ - bitboard::BitBoard, piece::{Color, Piece}, position::DiagramFormatter, - Position, Square, + BitBoard, Position, Square, }; #[test] diff --git a/board/src/position/pieces.rs b/board/src/position/pieces.rs index e3cb87e..307673e 100644 --- a/board/src/position/pieces.rs +++ b/board/src/position/pieces.rs @@ -1,8 +1,8 @@ // Eryn Wells use super::Position; -use crate::bitboard::BitBoard; use crate::piece::{Color, Piece, PlacedPiece, Shape}; +use crate::BitBoard; use crate::Square; pub struct Pieces<'a> { diff --git a/board/src/position/position.rs b/board/src/position/position.rs index d777791..3a98c1e 100644 --- a/board/src/position/position.rs +++ b/board/src/position/position.rs @@ -2,10 +2,9 @@ use super::{flags::Flags, Pieces}; use crate::{ - bitboard::BitBoard, moves::Moves, piece::{Color, Piece, PiecePlacementError, PlacedPiece, Shape}, - Square, + BitBoard, Square, }; use std::fmt; use std::fmt::Write;