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

Core implementation of the Alpha-Beta (Negamax) search algorithm. More...

#include "Negamax.h"
#include "TablebaseFallback.h"
#include "../tablebases/Tablebase.h"
#include "FeatureExtractor.hpp"
#include <algorithm>
#include <cmath>
#include <cstring>
#include <iostream>
Include dependency graph for Negamax.cpp:

Functions

static bool isNearKing (Square sq, Square kingSquare)
static int value_to_tt (int value, int ply)
static int value_from_tt (int value, int ply)

Variables

static constexpr int SEE_PIECE_VALUES [7]

Detailed Description

Core implementation of the Alpha-Beta (Negamax) search algorithm.

This file contains the implementation of the main chess tree search algorithm. It includes iterative deepening, principal variation search, aspiration windows, and lazy SMP for multithreading. It also integrates evaluation and transposition tables.

Function Documentation

◆ isNearKing()

bool isNearKing ( Square sq,
Square kingSquare )
static

◆ value_from_tt()

int value_from_tt ( int value,
int ply )
static
Here is the caller graph for this function:

◆ value_to_tt()

int value_to_tt ( int value,
int ply )
static
Here is the caller graph for this function:

Variable Documentation

◆ SEE_PIECE_VALUES

int SEE_PIECE_VALUES[7]
staticconstexpr
Initial value:
= {
100,
320,
330,
500,
900,
20000,
0
}