module

Experion::Tables

Constants

BETWEEN = Pointer(UInt64).malloc(4096)
BISHOP_ATTACKS = Pointer(UInt64).malloc(65536)
BISHOP_MAGIC = Pointer(UInt64).malloc(64)
BISHOP_MASK = Pointer(UInt64).malloc(64)
BISHOP_OFFSET = Pointer(Int32).malloc(64)
BISHOP_SHIFT = Pointer(UInt8).malloc(64)
DIRS_ALL = [{1, 0}, {-1, 0}, {0, 1}, {0, -1}, {1, 1}, {1, -1}, {-1, 1}, {-1, -1}]
DIRS_BISHOP = [{1, 1}, {1, -1}, {-1, 1}, {-1, -1}]
DIRS_KNIGHT = [{1, 2}, {2, 1}, {2, -1}, {1, -2}, {-1, -2}, {-2, -1}, {-2, 1}, {-1, 2}]
DIRS_ROOK = [{1, 0}, {-1, 0}, {0, 1}, {0, -1}]
FILE_BB = StaticArray[72340172838076673_u64, 144680345676153346_u64, 289360691352306692_u64, 578721382704613384_u64, 1157442765409226768_u64, 2314885530818453536_u64, 4629771061636907072_u64, 9259542123273814144_u64]
KING_ATK = Pointer(UInt64).malloc(64)
KNIGHT_ATK = Pointer(UInt64).malloc(64)
LINE = Pointer(UInt64).malloc(4096)
PAWN_ATK = Pointer(UInt64).malloc(128)
RANK_BB = StaticArray[255_u64, 65280_u64, 16711680_u64, 4278190080_u64, 1095216660480_u64, 280375465082880_u64, 71776119061217280_u64, 18374686479671623680_u64]
ROOK_ATTACKS = Pointer(UInt64).malloc(102400)
ROOK_MAGIC = Pointer(UInt64).malloc(64)
ROOK_MASK = Pointer(UInt64).malloc(64)
ROOK_OFFSET = Pointer(Int32).malloc(64)
ROOK_SHIFT = Pointer(UInt8).malloc(64)

Instance methods

between(a : Int, b : Int) : UInt64
Source
bishop_attacks(sq : Int, occ : UInt64) : UInt64
Source
init
Source
king_attacks(sq : Int) : UInt64
Source
knight_attacks(sq : Int) : UInt64
Source
line(a : Int, b : Int) : UInt64
Source
pawn_attacks(color : Int, sq : Int) : UInt64
Source
queen_attacks(sq : Int, occ : UInt64) : UInt64
Source
rook_attacks(sq : Int, occ : UInt64) : UInt64
Source