Fix parametrized direction in pawns generation
authorMarco Costalba <mcostalba@gmail.com>
Fri, 15 Jul 2011 09:40:09 +0000 (11:40 +0200)
committerMarco Costalba <mcostalba@gmail.com>
Fri, 15 Jul 2011 11:13:55 +0000 (12:13 +0100)
It worked by accident because we always called both directions,
but definition was wrong.

Functional change due to different generation order, but
perft numbers are the correct ones.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>

src/movegen.cpp

index e0f3baa..c9255f3 100644 (file)
@@ -406,8 +406,8 @@ namespace {
     const Bitboard TRank7BB  = (Us == WHITE ? Rank7BB  : Rank2BB);
     const Bitboard TRank3BB  = (Us == WHITE ? Rank3BB  : Rank6BB);
     const Square   UP        = (Us == WHITE ? DELTA_N  : DELTA_S);
-    const Square   RIGHT_UP  = (Us == WHITE ? DELTA_NE : DELTA_SE);
-    const Square   LEFT_UP   = (Us == WHITE ? DELTA_NW : DELTA_SW);
+    const Square   RIGHT_UP  = (Us == WHITE ? DELTA_NE : DELTA_SW);
+    const Square   LEFT_UP   = (Us == WHITE ? DELTA_NW : DELTA_SE);
 
     Square to;
     Bitboard b1, b2, dc1, dc2, pawnPushes, emptySquares;