From d510e0a23ad67a12d993792751c4c23b07f2e8c7 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 18 Aug 2026 21:10:04 +0200 Subject: refactor(all): --- magic_finder.c | 8 ++++++-- src/board/board.cpp | 10 +++++----- src/evaluate.cpp | 2 +- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/magic_finder.c b/magic_finder.c index 50c4279..ee21587 100644 --- a/magic_finder.c +++ b/magic_finder.c @@ -4,6 +4,8 @@ #include #include +// TODO: make magic bitboards use diffrent shift for each magic number (maybe) + static int popcount(uint64_t b) { return __builtin_popcountll(b); } static uint64_t computeRookMask(int sq) { @@ -165,11 +167,13 @@ int main(int argc, char *argv[]) { uint64_t rookMags[64], bishopMags[64]; uint64_t rookMasks[64], bishopMasks[64]; - fprintf(stderr, "Finding per-square rook magics (shift %d, table size %llu)...\n", + fprintf(stderr, + "Finding per-square rook magics (shift %d, table size %llu)...\n", shift, (unsigned long long)(1ULL << (64 - shift))); for (int sq = 0; sq < 64; sq++) { rookMasks[sq] = computeRookMask(sq); - if (!findMagic(rookMasks[sq], computeRookAttacks, sq, shift, &rookMags[sq])) { + if (!findMagic(rookMasks[sq], computeRookAttacks, sq, shift, + &rookMags[sq])) { fprintf(stderr, "FAILED to find rook magic for square %d\n", sq); return 1; } diff --git a/src/board/board.cpp b/src/board/board.cpp index 9ac60a8..822e1b5 100644 --- a/src/board/board.cpp +++ b/src/board/board.cpp @@ -1,4 +1,3 @@ -#include #include #include #include @@ -177,14 +176,15 @@ Undo MakeMove(uint16_t move, Game *g) { g->PieceBitboards[captuaredColor][PAWN] ^= square; - if (captuaredColor) + if (captuaredColor) { g->WhitePieceBitboard ^= square; - else + } else { g->BlackPieceBitboard ^= square; - + } g->PieceBitboard = g->WhitePieceBitboard | g->BlackPieceBitboard; - g->pieces[PositionToIndex(capturedPawn)] = {false, NONEPIECE}; + g->pieces[PositionToIndex(capturedPawn)] = {.color = false, + .type = NONEPIECE}; } g->canEnpassant = false; diff --git a/src/evaluate.cpp b/src/evaluate.cpp index c14fb9a..bb65c7f 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -201,7 +201,7 @@ bool IsEndgame(const Game *g) { } } - return queens == 0 || (queens == 2 && minor <= 1); + return (queens == 0 && minor <= 2) || (queens == 2 && minor <= 1); } int EvaluateBoardForWhite(Game *g) { -- cgit v1.2.3