1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-29 16:23:09 +00:00

Introduce PawnsQtyTable[] to refine pawn's drawish calculation

Also fix dimension of UnpairedPawnsTable[] to accomodate the
case in which we have 8 unpaired pawns, i.e. only one side has
pawns, the other side has no pawns.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2010-04-19 09:06:34 +02:00
parent fc89dbcab2
commit 97f5d19bdc

View file

@ -72,7 +72,10 @@ namespace {
// UnpairedPawnsTable[] gives a score according to the number
// of panws that do not have an enemy pawn in front of them.
const int UnpairedPawnsTable[8] = { 32, 48, 64, 80, 96, 112, 128, 128 };
const int UnpairedPawnsTable[16] = { 32, 48, 64, 80, 96, 112, 128, 128, 128 };
// PawnsQtyTable[] gives a score according to the number of panws
const int PawnsQtyTable[16] = { 16, 16, 16, 16, 16, 16, 16, 16, 16 };
// Pawn storm tables for positions with opposite castling
const int QStormTable[64] = {
@ -347,7 +350,7 @@ Score PawnInfoTable::evaluate_pawns(const Position& pos, Bitboard ourPawns,
}
// Calculate a scale factor to be used to evaluate if position is drawish
pi->factor[Us] = UnpairedPawnsTable[unpairedPawnsNum];
pi->factor[Us] = UnpairedPawnsTable[unpairedPawnsNum] * PawnsQtyTable[pos.piece_count(Us, PAWN)] / 16;
return value;
}