io-chess
UCI chess engine
Loading...
Searching...
No Matches
SimpleEvalContext.cpp File Reference

Missing description. More...

#include "SimpleEvalContext.h"
#include <algorithm>
#include <bit>
#include <cmath>
#include <cstdlib>
Include dependency graph for SimpleEvalContext.cpp:

Functions

static int mirror (int sq)

Variables

static constexpr uint64_t FILE_MASKS [8]
static constexpr uint64_t RANK_MASKS [8]
static const SimpleEvalContext::Score MOBILITY_KNIGHT [9]
static const SimpleEvalContext::Score MOBILITY_BISHOP [14]
static const SimpleEvalContext::Score MOBILITY_ROOK [15]
static const SimpleEvalContext::Score MOBILITY_QUEEN [28]
static const SimpleEvalContext::Score PASSED_PAWN_BONUS [8]
static const SimpleEvalContext::Score PASSED_PAWN_CONNECTED = {15, 30}
static const SimpleEvalContext::Score OUTPOST_BONUS = {25, 10}
static const SimpleEvalContext::Score ROOK_OPEN_FILE = {30, 15}
static const SimpleEvalContext::Score ROOK_SEMI_OPEN = {15, 7}
static const SimpleEvalContext::Score BISHOP_PAIR = {50, 50}
static const SimpleEvalContext::Score TEMPO_SCORE = {20, 10}
static const SimpleEvalContext::Score THREAT_BY_PAWN = {-40, -40}
static const SimpleEvalContext::Score THREAT_MINOR_ON_MAJOR = {40, 20}
static const SimpleEvalContext::Score THREAT_ROOK_ON_QUEEN = {30, 15}
static const SimpleEvalContext::Score SHIELD_MISSING = {-20, 0}
static const SimpleEvalContext::Score STORM_NEAR = {-30, -5}
static const SimpleEvalContext::Score STORM_FAR = {-10, 0}
static const int KING_PROXIMITY_WEIGHT = 10

Detailed Description

Missing description.

Function Documentation

◆ mirror()

int mirror ( int sq)
inlinestatic

Variable Documentation

◆ BISHOP_PAIR

const SimpleEvalContext::Score BISHOP_PAIR = {50, 50}
static

◆ FILE_MASKS

uint64_t FILE_MASKS[8]
staticconstexpr
Initial value:
= {
0x0101010101010101ULL, 0x0202020202020202ULL, 0x0404040404040404ULL,
0x0808080808080808ULL, 0x1010101010101010ULL, 0x2020202020202020ULL,
0x4040404040404040ULL, 0x8080808080808080ULL}

◆ KING_PROXIMITY_WEIGHT

const int KING_PROXIMITY_WEIGHT = 10
static

◆ MOBILITY_BISHOP

const SimpleEvalContext::Score MOBILITY_BISHOP[14]
static
Initial value:
= {
{-10, -10}, {-5, -5}, {0, 0}, {5, 5}, {10, 10}, {15, 15}, {20, 20},
{25, 25}, {30, 30}, {35, 35}, {35, 35}, {35, 35}, {35, 35}, {35, 35}}

◆ MOBILITY_KNIGHT

const SimpleEvalContext::Score MOBILITY_KNIGHT[9]
static
Initial value:
= {
{-20, -20}, {-10, -10}, {-5, -5}, {0, 0}, {5, 5}, {10, 10}, {15, 15}, {20, 20}, {25, 25}}

◆ MOBILITY_QUEEN

const SimpleEvalContext::Score MOBILITY_QUEEN[28]
static
Initial value:
= {
{-10, -10}, {-5, -5}, {0, 0}, {0, 0}, {5, 5}, {5, 5}, {10, 10},
{10, 10}, {15, 15}, {15, 15}, {20, 20}, {20, 20}, {25, 25}, {25, 25},
{30, 30}, {30, 30}, {35, 35}, {35, 35}, {40, 40}, {40, 40}, {45, 45},
{45, 45}, {50, 50}, {50, 50}, {50, 50}, {50, 50}, {50, 50}, {50, 50}}

◆ MOBILITY_ROOK

const SimpleEvalContext::Score MOBILITY_ROOK[15]
static
Initial value:
= {
{-10, -10}, {-5, -5}, {0, 0}, {5, 5}, {10, 10}, {15, 15}, {20, 20},
{25, 25}, {30, 30}, {35, 35}, {40, 40}, {45, 45}, {50, 50}, {50, 50}, {50, 50}}

◆ OUTPOST_BONUS

const SimpleEvalContext::Score OUTPOST_BONUS = {25, 10}
static

◆ PASSED_PAWN_BONUS

const SimpleEvalContext::Score PASSED_PAWN_BONUS[8]
static
Initial value:
= {
{0, 0}, {5, 10}, {10, 20}, {20, 40}, {35, 70}, {60, 120}, {100, 200}, {0, 0}}

◆ PASSED_PAWN_CONNECTED

const SimpleEvalContext::Score PASSED_PAWN_CONNECTED = {15, 30}
static

◆ RANK_MASKS

uint64_t RANK_MASKS[8]
staticconstexpr
Initial value:
= {
0x00000000000000FFULL, 0x000000000000FF00ULL, 0x0000000000FF0000ULL,
0x00000000FF000000ULL, 0x000000FF00000000ULL, 0x0000FF0000000000ULL,
0x00FF000000000000ULL, 0xFF00000000000000ULL}

◆ ROOK_OPEN_FILE

const SimpleEvalContext::Score ROOK_OPEN_FILE = {30, 15}
static

◆ ROOK_SEMI_OPEN

const SimpleEvalContext::Score ROOK_SEMI_OPEN = {15, 7}
static

◆ SHIELD_MISSING

const SimpleEvalContext::Score SHIELD_MISSING = {-20, 0}
static

◆ STORM_FAR

const SimpleEvalContext::Score STORM_FAR = {-10, 0}
static

◆ STORM_NEAR

const SimpleEvalContext::Score STORM_NEAR = {-30, -5}
static

◆ TEMPO_SCORE

const SimpleEvalContext::Score TEMPO_SCORE = {20, 10}
static

◆ THREAT_BY_PAWN

const SimpleEvalContext::Score THREAT_BY_PAWN = {-40, -40}
static

◆ THREAT_MINOR_ON_MAJOR

const SimpleEvalContext::Score THREAT_MINOR_ON_MAJOR = {40, 20}
static

◆ THREAT_ROOK_ON_QUEEN

const SimpleEvalContext::Score THREAT_ROOK_ON_QUEEN = {30, 15}
static