engine/movegen.h

Move generation and encoding.

Functions

static inline int encodeMove(int source, int target, int piece, int promoted, int capture, int dpp, int enpassant, int castle)
static inline int encodeMoveWithCapture(int source, int target, int piece, int promoted, int capture, int dpp, int enpassant, int castle, int capturedPiece)
inline int getSource(int move)
inline int getTarget(int move)
inline int getPiece(int move)
inline int getPromoted(int move)
inline int getCapture(int move)
inline int getDpp(int move)
inline int getEnpassant(int move)
inline int getCastle(int move)
inline int getCapturedPiece(int move)
void addMove(moves *moveList, int move)
void generateMoves(moves *moveList)
void generateTacticalMoves(moves *moveList)
int makeMove(int move, int moveFlag)
static inline BoardState copyBoard()
static inline void restoreBoard(const BoardState &state)
void printMove(int move)
void printMoveList(moves *moveList)
struct BoardState
#include <movegen.h>

Public Members

U64 bitboards[12]
U64 occupancy[3]
int side
int enpassant
int castle
U64 hashKey
int halfmoveClock
int fullmoveNumber