[board] Export BitBoard directly off of the crate for internal use
Update all the imports to import from the crate directly.
This commit is contained in:
		
							parent
							
								
									ddea2c2d63
								
							
						
					
					
						commit
						5961b1bcd5
					
				
					 12 changed files with 20 additions and 29 deletions
				
			
		| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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()
 | 
			
		||||
                    })
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
use crate::{bitboard::BitBoard, piece::PlacedPiece, Move};
 | 
			
		||||
use crate::{piece::PlacedPiece, BitBoard, Move};
 | 
			
		||||
 | 
			
		||||
struct BitBoardSet {
 | 
			
		||||
    quiet: BitBoard,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,9 +1,8 @@
 | 
			
		|||
// Eryn Wells <eryn@erynwells.me>
 | 
			
		||||
 | 
			
		||||
use crate::{
 | 
			
		||||
    bitboard::BitBoard,
 | 
			
		||||
    piece::{Color, Piece, Shape},
 | 
			
		||||
    Move, Position,
 | 
			
		||||
    BitBoard, Move, Position,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum MoveList {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,8 @@
 | 
			
		|||
// Eryn Wells <eryn@erynwells.me>
 | 
			
		||||
 | 
			
		||||
use super::Position;
 | 
			
		||||
use crate::bitboard::BitBoard;
 | 
			
		||||
use crate::piece::{Color, Piece, PlacedPiece, Shape};
 | 
			
		||||
use crate::BitBoard;
 | 
			
		||||
use crate::Square;
 | 
			
		||||
 | 
			
		||||
pub struct Pieces<'a> {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue