VFH3EJPYSVGK6HYH4B3SVYG7LPBSHEPRRGRH2QRAC4KYWAV3SSIQC
TB4YBE4CMWCLSKJ43QF6IU5HVYUUO33BLXVG7XDRLJS3IFIBQLYAC
WTTQGET65BQV7NSFOI75JGCTWFS6R73OFZE4V63JYWAODNIOUAHQC
BL3ZR4OWJM54HFXUNMUZKB5YQYVBT7ETFIXCOXWL6S5SZFM6IFDQC
IBUD4SUGA4IS6HUQIHVJJOFS4CMTWJMTMXS4LWGFVK4PFUFKE5LAC
pub fn getBishopAttacks(self: @This(), square: Board.Square, occupancy: Board.BoardType) Board.BoardType {
pub fn getBishopAttacks(self: @This(), square: Board.Square, occupancy: Board.BoardType) *Board.BoardType {
return bishop_attacks[square.int()][mut_occupancy];
return &bishop_attacks[square.int()][mut_occupancy];
pub fn getRookAttacks(self: @This(), square: Board.Square, occupancy: Board.BoardType) Board.BoardType {
pub fn getRookAttacks(self: @This(), square: Board.Square, occupancy: Board.BoardType) *Board.BoardType {
return rook_attacks[square.int()][mut_occupancy];
return &rook_attacks[square.int()][mut_occupancy];
return getBishopAttacks(self, square, occupancy) | getRookAttacks(self, square, occupancy);
return getBishopAttacks(self, square, occupancy).* | getRookAttacks(self, square, occupancy).*;
if (ba & @bitCast(BoardType, bbb) != 0) return true;
if (ba.* & @bitCast(BoardType, bbb) != 0) return true;
if (ra & @bitCast(BoardType, rbb) != 0) return true;
if (ra.* & @bitCast(BoardType, rbb) != 0) return true;
const qa = self.attacks.getQueenAttacks(square, self.occupBoth());
if (qa & @bitCast(BoardType, qbb) != 0) return true;
if ((ba.* | ra.*) & @bitCast(BoardType, qbb) != 0) return true;
),
).*,