mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 08:43:09 +00:00
Minor stuff scattered around
Just random minor stuff I found while browsing the code. No functional change.
This commit is contained in:
parent
a1f39c1ef9
commit
918c29f83a
3 changed files with 8 additions and 19 deletions
|
@ -34,9 +34,8 @@ ifeq ($(UNAME),Haiku)
|
||||||
endif
|
endif
|
||||||
BINDIR = $(PREFIX)/bin
|
BINDIR = $(PREFIX)/bin
|
||||||
|
|
||||||
### Built-in benchmark for pgo-builds and signature
|
### Built-in benchmark for pgo-builds
|
||||||
PGOBENCH = ./$(EXE) bench 32 1 1 default time
|
PGOBENCH = ./$(EXE) bench 32 1 1 default time
|
||||||
SIGNBENCH = ./$(EXE) bench
|
|
||||||
|
|
||||||
### Object files
|
### Object files
|
||||||
OBJS = benchmark.o bitbase.o bitboard.o book.o endgame.o evaluate.o main.o \
|
OBJS = benchmark.o bitbase.o bitboard.o book.o endgame.o evaluate.o main.o \
|
||||||
|
|
|
@ -222,20 +222,6 @@ namespace {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// interpolate() interpolates between a middlegame and an endgame score,
|
|
||||||
// based on game phase. It also scales the return value by a ScaleFactor array.
|
|
||||||
|
|
||||||
Value interpolate(const Score& v, Phase ph, ScaleFactor sf) {
|
|
||||||
|
|
||||||
assert(-VALUE_INFINITE < mg_value(v) && mg_value(v) < VALUE_INFINITE);
|
|
||||||
assert(-VALUE_INFINITE < eg_value(v) && eg_value(v) < VALUE_INFINITE);
|
|
||||||
assert(PHASE_ENDGAME <= ph && ph <= PHASE_MIDGAME);
|
|
||||||
|
|
||||||
int eg = (eg_value(v) * int(sf)) / SCALE_FACTOR_NORMAL;
|
|
||||||
return Value((mg_value(v) * int(ph) + eg * int(PHASE_MIDGAME - ph)) / PHASE_MIDGAME);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// init_eval_info() initializes king bitboards for given color adding
|
// init_eval_info() initializes king bitboards for given color adding
|
||||||
// pawn attacks. To be done at the beginning of the evaluation.
|
// pawn attacks. To be done at the beginning of the evaluation.
|
||||||
|
|
||||||
|
@ -734,7 +720,7 @@ namespace {
|
||||||
ei.attackedBy[WHITE][ALL_PIECES] |= ei.attackedBy[WHITE][KING];
|
ei.attackedBy[WHITE][ALL_PIECES] |= ei.attackedBy[WHITE][KING];
|
||||||
ei.attackedBy[BLACK][ALL_PIECES] |= ei.attackedBy[BLACK][KING];
|
ei.attackedBy[BLACK][ALL_PIECES] |= ei.attackedBy[BLACK][KING];
|
||||||
|
|
||||||
// Do not include in mobility squares protected by enemy pawns or occupied by our pieces
|
// Do not include in mobility squares protected by enemy pawns or occupied by our pawns or king
|
||||||
Bitboard mobilityArea[] = { ~(ei.attackedBy[BLACK][PAWN] | pos.pieces(WHITE, PAWN, KING)),
|
Bitboard mobilityArea[] = { ~(ei.attackedBy[BLACK][PAWN] | pos.pieces(WHITE, PAWN, KING)),
|
||||||
~(ei.attackedBy[WHITE][PAWN] | pos.pieces(BLACK, PAWN, KING)) };
|
~(ei.attackedBy[WHITE][PAWN] | pos.pieces(BLACK, PAWN, KING)) };
|
||||||
|
|
||||||
|
@ -793,7 +779,11 @@ namespace {
|
||||||
sf = ScaleFactor(50 * sf / SCALE_FACTOR_NORMAL);
|
sf = ScaleFactor(50 * sf / SCALE_FACTOR_NORMAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
Value v = interpolate(score, ei.mi->game_phase(), sf);
|
// Interpolate between a middlegame and an endgame score, scaling by 'sf'
|
||||||
|
Value v = mg_value(score) * int(ei.mi->game_phase())
|
||||||
|
+ eg_value(score) * int(sf) / SCALE_FACTOR_NORMAL * int(PHASE_MIDGAME - ei.mi->game_phase());
|
||||||
|
|
||||||
|
v /= PHASE_MIDGAME;
|
||||||
|
|
||||||
// In case of tracing add all single evaluation contributions for both white and black
|
// In case of tracing add all single evaluation contributions for both white and black
|
||||||
if (Trace)
|
if (Trace)
|
||||||
|
|
|
@ -368,7 +368,7 @@ ExtMove* generate<EVASIONS>(const Position& pos, ExtMove* mlist) {
|
||||||
Color us = pos.side_to_move();
|
Color us = pos.side_to_move();
|
||||||
Square ksq = pos.king_square(us);
|
Square ksq = pos.king_square(us);
|
||||||
Bitboard sliderAttacks = 0;
|
Bitboard sliderAttacks = 0;
|
||||||
Bitboard sliders = pos.checkers() & ~pos.pieces(KNIGHT) & ~pos.pieces(PAWN);
|
Bitboard sliders = pos.checkers() & ~pos.pieces(KNIGHT, PAWN);
|
||||||
|
|
||||||
// Find all the squares attacked by slider checkers. We will remove them from
|
// Find all the squares attacked by slider checkers. We will remove them from
|
||||||
// the king evasions in order to skip known illegal moves, which avoids any
|
// the king evasions in order to skip known illegal moves, which avoids any
|
||||||
|
|
Loading…
Add table
Reference in a new issue