Naming bitboard representations

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

MOBMAT
Posts: 385
Joined: Sat Feb 04, 2017 11:57 pm
Location: USA

Naming bitboard representations

Post by MOBMAT »

The recent "quad board" thread made me think...

Do these bitboard implementations have a "name" ? The seem to be very common but I haven't seen them specifically named.

Octo-boards?

Code: Select all

U64 BBoard[8];
Where:
[0] = occupied (black pieces)
[1] = occupied (white pieces)
[2] = all pawns
[3] = all knights
[4] = all bishops
[5] = all rooks
[6] = all queens
[7] = all kings

or
Tredec boards?

Code: Select all

U64 BBoard[13];
Where:
[0] = occupied (all pieces)
[1] = black pawns
[2] = white pawns
[3] = black knights
[4] = white knights
[5] = black bishops
[6] = white bishops
[7] = black rooks
[8] = white rooks
[9] = black queens
[10] = white queens
[11] = black king
[12] = white king

Additional support elements not included .
I've implemented both and find the former faster with copy/make (seems logical, less to copy).
i7-6700K @ 4.00Ghz 32Gb, Win 10 Home, EGTBs on PCI SSD
Benchmark: Stockfish15.1 NNUE x64 bmi2 (nps): 1277K