stellar

UCI Chess engine written in C++20
git clone git://git.dimitrijedobrota.com/stellar.git
Log | Files | Refs | README | LICENSE

commit 1e2a1194e08c9d8f2fb72219cabf7dc5b56d0765
parent 67c3102f90a864a87055d35c03d2b17f41fa99fd
author Dimitrije Dobrota <mail@dimitrijedobrota.com>
date Tue, 15 Aug 2023 11:03:39 +0200

Fix the issue with the engine

Diffstat:
M src/engine/CMakeLists.txt | --
M src/engine/engine.cpp | ++++++++ --------
M src/perft/CMakeLists.txt | --

3 files changed, 8 insertions(+), 12 deletions(-)


diff --git a/ src/engine/CMakeLists.txt b/ src/engine/CMakeLists.txt

@@ -8,8 +8,6 @@ target_link_libraries(engine PRIVATE moves )
target_link_libraries(engine PRIVATE "cul")
set_target_properties(engine PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}

diff --git a/ src/engine/engine.cpp b/ src/engine/engine.cpp

@@ -7,6 +7,7 @@ #include "board.hpp" #include "move.hpp" #include "movelist.hpp"
#include "piece.hpp"
#include "score.hpp" #include "transposition.hpp" #include "utils_cpp.hpp"

@@ -35,7 +36,7 @@ U32 inline move_list_score(Move move) { if (move.is_capture()) return piece::score(type, move.captured()) + 10000; if (killer[0][ply] == move) return 9000; if (killer[1][ply] == move) return 8000;
return history[to_underlying(type)][to_underlying(move.target())];
return history[piece::get_index(type, board.get_side())][to_underlying(move.target())];
} void move_list_sort(MoveList &list, std::vector<int> &index, bool bestCheck = true) {

@@ -268,8 +269,8 @@ int negamax(int alpha, int beta, int depth, bool null) { if (score > alpha) { if (!move.is_capture()) {
int index = piece::get(move.piece(), board.get_side()).index;
history[index][to_underlying(move.target())] += depth;
history[piece::get_index(move.piece(), board.get_side())][to_underlying(move.target())] +=
depth;
} alpha = score;

@@ -303,7 +304,7 @@ int negamax(int alpha, int beta, int depth, bool null) { void move_print_UCI(Move move) { std::cout << square_to_coordinates(move.source()) << square_to_coordinates(move.target());
// if (move.is_promote()) std::cout << move.piece_promote().code;
if (move.is_promote()) std::cout << piece::get_code(move.promoted(), board.get_side());
} void search_position(int depth) {

@@ -363,8 +364,8 @@ char *Instruction_token_next(Instruction *self); Instruction *Instruction_new(char *command) { Instruction *p = new Instruction();
p->command = new char(strlen(command) + 1);
p->token = new char(strlen(command) + 1);
p->command = new char[strlen(command) + 1];
p->token = new char[strlen(command) + 1];
strcpy(p->command, command); p->crnt = command; Instruction_token_next(p);

@@ -414,8 +415,7 @@ Move parse_move(char *move_string) { const Move move = list[i]; if (move.source() == source && move.target() == target) { if (move_string[4]) {
char code = piece::get(move.promoted(), board.get_side()).code;
if (tolower(code) != move_string[4]) continue;
if (tolower(piece::get_code(move.promoted())) != move_string[4]) continue;
} return move; }

diff --git a/ src/perft/CMakeLists.txt b/ src/perft/CMakeLists.txt

@@ -10,8 +10,6 @@ target_link_libraries(perft PRIVATE moves )
target_link_libraries(perft PRIVATE "cul")
set_target_properties(perft PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}