2024-01-24 08:34:23 -08:00
|
|
|
// Eryn Wells <eryn@erynwells.me>
|
2024-01-24 08:35:22 -08:00
|
|
|
|
|
|
|
mod bit_scanner;
|
|
|
|
mod bitboard;
|
|
|
|
mod library;
|
|
|
|
mod shifts;
|
|
|
|
|
2024-01-24 09:16:21 -08:00
|
|
|
pub use bitboard::{BitBoard, BitBoardBuilder};
|
|
|
|
|
2024-01-24 08:35:22 -08:00
|
|
|
pub(crate) use bit_scanner::{LeadingBitScanner, TrailingBitScanner};
|
|
|
|
|
|
|
|
#[macro_export]
|
|
|
|
macro_rules! bitboard {
|
|
|
|
($($sq:ident),* $(,)?) => {
|
2024-01-24 09:16:21 -08:00
|
|
|
$crate::BitBoardBuilder::empty()
|
2024-01-24 08:48:19 -08:00
|
|
|
$(.square(chessfriend_core::Square::$sq))*
|
2024-01-24 08:35:22 -08:00
|
|
|
.build()
|
|
|
|
};
|
|
|
|
}
|