71 {20, 40}, {40, 80}, {80, 160},
79 static int mirror(
int sq) {
return sq ^ 56; }
Abstract interface for board evaluation algorithms.
static double us(Clock::time_point a, Clock::time_point b)
Definition MoECacheModel.hpp:132
Common type definitions and constants for the chess engine.
chess::Color Color
Alias for chess::Color.
Definition Types.h:17
chess::Bitboard Bitboard
Alias for chess::Bitboard.
Definition Types.h:21
chess::Board Board
Alias for chess::Board.
Definition Types.h:14
Abstract interface for evaluators.
Definition IEvaluator.h:25
static int mirror(int sq)
Mirrors a square index vertically (for black's perspective).
Definition SimpleEvalContext.h:79
static constexpr int PHASE_ROOK
Definition SimpleEvalContext.h:60
Score evalOneSide(const Board &board, Color us, int &phase) const
Evaluates features specific to one side.
static constexpr int PHASE_KNIGHT
Definition SimpleEvalContext.h:58
void evalPawns(const Board &board, Color us, const Bitboard &ourPawns, const Bitboard &theirPawns, Score &score) const
Evaluates pawn structure features.
static const Score PSQT[6][64]
Definition SimpleEvalContext.h:79
static constexpr Score BISHOP_PAIR
Definition SimpleEvalContext.h:67
static constexpr Score ROOK_OPEN_FILE
Definition SimpleEvalContext.h:68
static constexpr int PHASE_BISHOP
Definition SimpleEvalContext.h:59
SimpleEvalContext()=default
static constexpr int TEMPO_BONUS
Definition SimpleEvalContext.h:63
static constexpr int PHASE_QUEEN
Definition SimpleEvalContext.h:61
static const Score PIECE_VALUES[6]
Definition SimpleEvalContext.h:28
static constexpr Score PAWN_DOUBLED
Definition SimpleEvalContext.h:74
static constexpr int TOTAL_PHASE
Definition SimpleEvalContext.h:62
EvalScore Score
Definition SimpleEvalContext.h:55
float evaluate(const Board &board, int ply=0) override
Computes the tapered static evaluation of the board.
Definition SimpleEvalContext.cpp:169
static constexpr Score ROOK_SEMI_OPEN
Definition SimpleEvalContext.h:69
static constexpr Score PAWN_PASSED[8]
Definition SimpleEvalContext.h:70
void evalKingSafety(const Board &board, Color us, const Bitboard &ourPawns, const Bitboard &theirPawns, Score &score) const
Evaluates king safety and pawn shield quality.
static constexpr Score PAWN_ISOLATED
Definition SimpleEvalContext.h:73
Holds separate middle-game (mg) and end-game (eg) scores.
Definition SimpleEvalContext.h:23
EvalScore operator+(const EvalScore &rhs) const
Definition SimpleEvalContext.h:37
int eg
End-game evaluation score.
Definition SimpleEvalContext.h:25
int mg
Middle-game evaluation score.
Definition SimpleEvalContext.h:24
EvalScore operator-(const EvalScore &rhs) const
Definition SimpleEvalContext.h:40
constexpr EvalScore(int m=0, int e=0)
Definition SimpleEvalContext.h:26
EvalScore & operator-=(const EvalScore &rhs)
Definition SimpleEvalContext.h:32
EvalScore & operator+=(const EvalScore &rhs)
Definition SimpleEvalContext.h:27