1
0
Fork 0

Small renaming in material weights

Also dropped some temporary variable: compiler
is more than able to push on stack temp values
by itself (verified).

No functional change.
pull/7/head^2
Marco Costalba 2014-06-20 23:15:31 +02:00
parent 264c8637a3
commit f7926ea41e
1 changed files with 13 additions and 15 deletions

View File

@ -29,10 +29,10 @@ namespace {
// Polynomial material balance parameters
// pair pawn knight bishop rook queen
const int LinearCoefficients[6] = { 1852, -162, -1122, -183, 249, -154 };
// pair pawn knight bishop rook queen
const int Linear[6] = { 1852, -162, -1122, -183, 249, -154 };
const int QuadraticCoefficientsSameSide[][PIECE_TYPE_NB] = {
const int QuadraticSameSide[][PIECE_TYPE_NB] = {
// OUR PIECES
// pair pawn knight bishop rook queen
{ 0 }, // Bishop pair
@ -43,7 +43,7 @@ namespace {
{-177, 25, 129, 142, -137, 0 } // Queen
};
const int QuadraticCoefficientsOppositeSide[][PIECE_TYPE_NB] = {
const int QuadraticOppositeSide[][PIECE_TYPE_NB] = {
// THEIR PIECES
// pair pawn knight bishop rook queen
{ 0 }, // Bishop pair
@ -93,26 +93,24 @@ namespace {
const Color Them = (Us == WHITE ? BLACK : WHITE);
int pt1, pt2, pc, v;
int value = 0;
int bonus = 0;
// Second-degree polynomial material imbalance by Tord Romstad
for (pt1 = NO_PIECE_TYPE; pt1 <= QUEEN; ++pt1)
for (int pt1 = NO_PIECE_TYPE; pt1 <= QUEEN; ++pt1)
{
pc = pieceCount[Us][pt1];
if (!pc)
if (!pieceCount[Us][pt1])
continue;
v = LinearCoefficients[pt1];
int v = Linear[pt1];
for (pt2 = NO_PIECE_TYPE; pt2 <= pt1; ++pt2)
v += QuadraticCoefficientsSameSide[pt1][pt2] * pieceCount[Us][pt2]
+ QuadraticCoefficientsOppositeSide[pt1][pt2] * pieceCount[Them][pt2];
for (int pt2 = NO_PIECE_TYPE; pt2 <= pt1; ++pt2)
v += QuadraticSameSide[pt1][pt2] * pieceCount[Us][pt2]
+ QuadraticOppositeSide[pt1][pt2] * pieceCount[Them][pt2];
value += pc * v;
bonus += pieceCount[Us][pt1] * v;
}
return value;
return bonus;
}
} // namespace