#ifndef BITBOARD_H #define BITBOARD_H #include "types.h" // Precomputed attack tables extern U64 knight_attacks[64]; extern U64 king_attacks[64]; extern U64 pawn_attacks[2][64]; // [color][square] // Lookup tables for bishop and rook moves extern U64 bishop_masks[64]; extern U64 rook_masks[64]; // Magic bitboard tables extern U64 bishop_attacks[64][512]; extern U64 rook_attacks[64][4096]; // Initialize attack tables void init_attack_tables(); // Get sliding piece attacks (bishop/rook) U64 get_sliding_attacks(int sq, U64 blockers, int is_bishop); #endif // BITBOARD_H