summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
e0a00c4)
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
score -= ThreatenedByPawnPenalty[Piece];
// Bishop and knight outposts squares
score -= ThreatenedByPawnPenalty[Piece];
// Bishop and knight outposts squares
- if ((Piece == BISHOP || Piece == KNIGHT) && pos.square_is_weak(s, Us))
+ if ( (Piece == BISHOP || Piece == KNIGHT)
+ && !(pos.pieces(PAWN, Them) & attack_span_mask(Us, s)))
score += evaluate_outposts<Piece, Us>(pos, ei, s);
// Queen or rook on 7th rank
score += evaluate_outposts<Piece, Us>(pos, ei, s);
// Queen or rook on 7th rank
Square sqH = relative_square(c, SQ_H1);
Square rsq, ksq = king_square(c);
Square sqH = relative_square(c, SQ_H1);
Square rsq, ksq = king_square(c);
- token = toupper(token);
+ token = char(toupper(token));
if (token == 'K')
for (rsq = sqH; piece_on(rsq) != make_piece(c, ROOK); rsq--) {}
if (token == 'K')
for (rsq = sqH; piece_on(rsq) != make_piece(c, ROOK); rsq--) {}
// Information about pawns
bool pawn_is_passed(Color c, Square s) const;
// Information about pawns
bool pawn_is_passed(Color c, Square s) const;
- // Weak squares
- bool square_is_weak(Square s, Color c) const;
-
// Doing and undoing moves
void do_setup_move(Move m);
void do_move(Move m, StateInfo& st);
// Doing and undoing moves
void do_setup_move(Move m);
void do_move(Move m, StateInfo& st);
// Incremental evaluation
Score value() const;
Value non_pawn_material(Color c) const;
// Incremental evaluation
Score value() const;
Value non_pawn_material(Color c) const;
- static Score pst_delta(Piece piece, Square from, Square to);
+ Score pst_delta(Piece piece, Square from, Square to) const;
// Game termination checks
bool is_mate() const;
// Game termination checks
bool is_mate() const;
Key compute_material_key() const;
// Computing incremental evaluation scores and material counts
Key compute_material_key() const;
// Computing incremental evaluation scores and material counts
- static Score pst(Piece p, Square s);
+ Score pst(Piece p, Square s) const;
Score compute_value() const;
Value compute_non_pawn_material(Color c) const;
Score compute_value() const;
Value compute_non_pawn_material(Color c) const;
return !(pieces(PAWN, opposite_color(c)) & passed_pawn_mask(c, s));
}
return !(pieces(PAWN, opposite_color(c)) & passed_pawn_mask(c, s));
}
-inline bool Position::square_is_weak(Square s, Color c) const {
- return !(pieces(PAWN, opposite_color(c)) & attack_span_mask(c, s));
-}
-
inline Key Position::get_key() const {
return st->key;
}
inline Key Position::get_key() const {
return st->key;
}
return st->materialKey;
}
return st->materialKey;
}
-inline Score Position::pst(Piece p, Square s) {
+inline Score Position::pst(Piece p, Square s) const {
return PieceSquareTable[p][s];
}
return PieceSquareTable[p][s];
}
-inline Score Position::pst_delta(Piece piece, Square from, Square to) {
+inline Score Position::pst_delta(Piece piece, Square from, Square to) const {
return PieceSquareTable[piece][to] - PieceSquareTable[piece][from];
}
return PieceSquareTable[piece][to] - PieceSquareTable[piece][from];
}
inline bool Position::opposite_colored_bishops() const {
inline bool Position::opposite_colored_bishops() const {
- return piece_count(WHITE, BISHOP) == 1 && piece_count(BLACK, BISHOP) == 1
+ return piece_count(WHITE, BISHOP) == 1
+ && piece_count(BLACK, BISHOP) == 1
&& opposite_color_squares(piece_list(WHITE, BISHOP)[0], piece_list(BLACK, BISHOP)[0]);
}
&& opposite_color_squares(piece_list(WHITE, BISHOP)[0], piece_list(BLACK, BISHOP)[0]);
}