1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 08:43:09 +00:00

Inline Position::move_is_capture()

This is a very hot path function, profiling on Intel compiler
shows that inlining cuts in half the overhead.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2009-04-27 16:35:31 +02:00
parent 20d88dbf98
commit b35e593551
2 changed files with 9 additions and 14 deletions

View file

@ -651,20 +651,6 @@ bool Position::move_is_check(Move m, Bitboard dcCandidates) const {
}
/// Position::move_is_capture() tests whether a move from the current
/// position is a capture. Move must not be MOVE_NONE.
bool Position::move_is_capture(Move m) const {
assert(m != MOVE_NONE);
return ( !square_is_empty(move_to(m))
&& (color_of_piece_on(move_to(m)) != color_of_piece_on(move_from(m)))
)
|| move_is_ep(m);
}
/// Position::update_checkers() udpates chekers info given the move. It is called
/// in do_move() and is faster then find_checkers().

View file

@ -718,5 +718,14 @@ inline bool Position::has_pawn_on_7th(Color c) const {
return pawns(c) & relative_rank_bb(c, RANK_7);
}
inline bool Position::move_is_capture(Move m) const {
// Move must not be MOVE_NONE !
return ( !square_is_empty(move_to(m))
&& (color_of_piece_on(move_to(m)) != color_of_piece_on(move_from(m)))
)
|| move_is_ep(m);
}
#endif // !defined(POSITION_H_INCLUDED)