From: Marco Costalba Date: Mon, 27 Apr 2009 14:35:31 +0000 (+0200) Subject: Inline Position::move_is_capture() X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=b35e59355134e34b00108c2ad58ea46df60eb301 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 --- diff --git a/src/position.cpp b/src/position.cpp index abe75807..2ede62fe 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -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(). diff --git a/src/position.h b/src/position.h index d2b37478..65bfa258 100644 --- a/src/position.h +++ b/src/position.h @@ -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)