X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbitbase.cpp;h=6094f50fbe9da0b9bca1bc3e47927bc35f43f977;hp=cd6a7329724e4260bc1529ca9756e82b8265adb9;hb=fcf2a34080404b90cac46184d76e8f2cdda16bd2;hpb=e4695f15bc62c0e34572b3a995e25b7461d2ae90 diff --git a/src/bitbase.cpp b/src/bitbase.cpp index cd6a7329..6094f50f 100644 --- a/src/bitbase.cpp +++ b/src/bitbase.cpp @@ -110,11 +110,13 @@ namespace { wksq = Square((idx >> 0) & 0x3F); bksq = Square((idx >> 6) & 0x3F); us = Color ((idx >> 12) & 0x01); - psq = File ((idx >> 13) & 0x03) | Rank(RANK_7 - (idx >> 15)); + psq = make_square(File((idx >> 13) & 0x03), Rank(RANK_7 - (idx >> 15))); result = UNKNOWN; // Check if two pieces are on the same square or if a king can be captured - if ( square_distance(wksq, bksq) <= 1 || wksq == psq || bksq == psq + if ( square_distance(wksq, bksq) <= 1 + || wksq == psq + || bksq == psq || (us == WHITE && (StepAttacksBB[PAWN][psq] & bksq))) result = INVALID;