Chess Engine
C++ chess engine with movegen, bitboards, and Arduino-friendly docs
Loading...
Searching...
No Matches
setup.h
Go to the documentation of this file.
1#pragma once
2#include "../defs.h"
3
7 extern int square120To64[BRD_SQ_NUM];
8
12 extern int square64To120[64];
13
17 extern U64 setBitMask[64];
18 extern U64 clearBitMask[64];
19
23 extern U64 zobristPieceKeys[13][120];
24
28 extern U64 zobristSideKey;
29
33 extern U64 zobristCastleKeys[16];
34
38 extern int fileIndex120[BRD_SQ_NUM];
39 extern int rankIndex120[BRD_SQ_NUM];
40
44 extern U64 fileBitMask[8];
45 extern U64 rankBitMask[8];
46
50 extern U64 blackPassedPawnMask[64];
51 extern U64 whitePassedPawnMask[64];
52 extern U64 isolatedPawnMask[64];
53
57 extern S_OPTIONS engineOptions[1];
58
63
68
72 void initZobristKeys();
73
77 void initBitMasks();
78
83
87 extern void initializeEngine();
unsigned long long U64
Definition defs.h:26
#define BRD_SQ_NUM
Definition defs.h:29
U64 clearBitMask[64]
Definition setup.cpp:20
U64 zobristSideKey
Zobrist hashing key for side to move.
Definition setup.cpp:23
U64 rankBitMask[8]
Definition setup.cpp:30
int square120To64[BRD_SQ_NUM]
Lookup table to convert 120-based board index to 64-based.
Definition setup.cpp:16
int rankIndex120[BRD_SQ_NUM]
Definition setup.cpp:27
U64 isolatedPawnMask[64]
Definition setup.cpp:34
S_OPTIONS engineOptions[1]
Engine options structure.
Definition setup.cpp:36
int square64To120[64]
Lookup table to convert 64-based board index to 120-based.
Definition setup.cpp:17
U64 fileBitMask[8]
Bitboard masks for each file and rank.
Definition setup.cpp:29
U64 setBitMask[64]
Bit masks for setting and clearing individual bits on a bitboard.
Definition setup.cpp:19
U64 blackPassedPawnMask[64]
Bitboard masks for pawn structure evaluation.
Definition setup.cpp:32
U64 zobristCastleKeys[16]
Zobrist hashing keys for castling rights.
Definition setup.cpp:24
int fileIndex120[BRD_SQ_NUM]
File and rank lookup tables for each square (120-based).
Definition setup.cpp:26
U64 zobristPieceKeys[13][120]
Zobrist hashing keys for each piece on each square.
Definition setup.cpp:22
U64 whitePassedPawnMask[64]
Definition setup.cpp:33
void InitFilesrankIndex120()
Initialize file and rank lookup arrays.
Definition setup.cpp:98
void initEvaluationMasks()
Initialize evaluation-related bitboard masks.
Definition setup.cpp:40
void initBitMasks()
Initialize bit masks for individual bitboard operations.
Definition setup.cpp:128
void initZobristKeys()
Initialize Zobrist hash keys.
Definition setup.cpp:115
void initializeEngine()
Run all initialization routines.
Definition setup.cpp:156
void initSquareIndexMaps()
Initialize lookup tables for 120->64 square indexing.
Definition setup.cpp:139