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:
parent
20d88dbf98
commit
b35e593551
2 changed files with 9 additions and 14 deletions
|
@ -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().
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue