engine/attacks.h

Attack tables and magic bitboard lookups.

Functions

void initLeaperAttacks()
void initSliderAttacks(int bishop)
void initMagicNum()
U64 maskPawnAttacks(int side, int square)
U64 maskKnightAttacks(int square)
U64 maskKingAttacks(int square)
U64 maskBishopAttacks(int square)
U64 maskRookAttacks(int square)
U64 bishopAttacksOtf(int square, U64 block)
U64 rookAttacksOtf(int square, U64 block)
U64 setOccupancy(int index, int bitsInMask, U64 attackMask)
U64 findMagicNum(int square, int relevantBits, int bishop)
static inline U64 getBishopAttacks(int square, U64 occ)
static inline U64 getRookAttacks(int square, U64 occ)
static inline U64 getQueenAttacks(int square, U64 occ)
int isAttacked(int square, int side)
void printAttacked(int side)

Variables

U64 pawnAttacks[2][64]
U64 knightAttacks[64]
U64 kingAttacks[64]
U64 bishopMasks[64]
U64 rookMasks[64]
U64 bishopAttacks[64][512]
U64 rookAttacks[64][4096]
U64 rookMagicNums[64]
U64 bishopMagicNums[64]
const int bishopRelevantBits[64]
const int rookRelevantBits[64]