#include <cassert>
#include <cstring>
#include <iomanip>
-#include <iostream>
#include <sstream>
#include "bitcount.h"
#include "tt.h"
using std::string;
-using std::cout;
-using std::endl;
static const string PieceToChar(" PNBRQK pnbrqk");
if (ci.checkSq[pt] & to)
return true;
- // Discovery check ?
- if (unlikely(ci.dcCandidates) && (ci.dcCandidates & from))
- {
- // For pawn and king moves we need to verify also direction
- if ( (pt != PAWN && pt != KING)
- || !aligned(from, to, king_square(~sideToMove)))
- return true;
- }
+ // Discovered check ?
+ if ( unlikely(ci.dcCandidates)
+ && (ci.dcCandidates & from)
+ && !aligned(from, to, king_square(~sideToMove)))
+ return true;
// Can we skip the ugly special cases ?
if (type_of(m) == NORMAL)