}
};
+
////
-//// Variables
+//// Constants and variables
////
+/// Bonus for having the side to move (modified by Joona Kiiski)
+
+static const Score TempoValue = make_score(48, 22);
+
+
Key Position::zobrist[2][8][64];
Key Position::zobEp[64];
Key Position::zobCastle[16];
st->value += pst(us, promotion, to);
// Update material
- st->npMaterial[us] += piece_value_midgame(promotion);
+ st->npMaterial[us] += PieceValueMidgame[promotion];
}
}
st->pawnKey ^= zobrist[them][PAWN][capsq];
}
else
- st->npMaterial[them] -= piece_value_midgame(capture);
+ st->npMaterial[them] -= PieceValueMidgame[capture];
// Remove captured piece
clear_bit(&(byColorBB[them]), capsq);
/// updated by do_move and undo_move when the program is running in debug mode.
Score Position::compute_value() const {
- Score result = make_score(0, 0);
+ Score result = SCORE_ZERO;
Bitboard b;
Square s;
Value Position::compute_non_pawn_material(Color c) const {
- Value result = Value(0);
+ Value result = VALUE_ZERO;
for (PieceType pt = KNIGHT; pt <= QUEEN; pt++)
{
while (b)
{
assert(piece_on(first_1(b)) == piece_of_color_and_type(c, pt));
+
pop_1st_bit(&b);
- result += piece_value_midgame(pt);
+ result += PieceValueMidgame[pt];
}
}
return result;