19#ifndef SYZYGYTABLEBASE_H
20#define SYZYGYTABLEBASE_H
40class LIB_EXPORT SyzygyTablebase
52 Q_DECLARE_FLAGS(Castling, CastlingFlag)
93 static Chess::Result
result(const Chess::Side& side,
94 const Chess::Square& enpassantSq,
98 unsigned int* dtz =
nullptr);
static Chess::Result result(const Chess::Side &side, const Chess::Square &enpassantSq, Castling castling, int rule50, const PieceList &pieces, unsigned int *dtz=nullptr)
Definition syzygytablebase.cpp:69
static void setPieces(int pieces)
Definition syzygytablebase.cpp:58
CastlingFlag
Definition syzygytablebase.h:45
@ WhiteQueenSide
White can castle on queen's side.
Definition syzygytablebase.h:48
@ BlackQueenSide
Black can castle on queen's side.
Definition syzygytablebase.h:50
@ WhiteKingSide
White can castle on king's side.
Definition syzygytablebase.h:47
@ NoCastling
No castling rights.
Definition syzygytablebase.h:46
@ BlackKingSide
Black can castle on king's side.
Definition syzygytablebase.h:49
static bool tbAvailable(int pieces)
Definition syzygytablebase.cpp:53
static bool initialize(const QString &paths)
Definition syzygytablebase.cpp:41
static void setNoRule50()
Definition syzygytablebase.cpp:64
QList< QPair< Chess::Square, Chess::Piece > > PieceList
Definition syzygytablebase.h:55