diff --git a/src/movegen.cpp b/src/movegen.cpp
index 8c4712df..0686bf8d 100644
--- a/src/movegen.cpp
+++ b/src/movegen.cpp
@@ -17,7 +17,6 @@
along with this program. If not, see .
*/
-#include
#include
#include "movegen.h"
@@ -47,9 +46,8 @@ namespace {
assert(!pos.in_check());
- for (Square s = std::min(kfrom, kto), e = std::max(kfrom, kto); s <= e; s++)
- if ( s != kfrom // We are not in check
- && (pos.attackers_to(s) & enemies))
+ for (Square s = kto; s != kfrom; s += (Square)(Side == KING_SIDE ? -1 : 1))
+ if (pos.attackers_to(s) & enemies)
return mlist;
// Because we generate only legal castling moves we need to verify that