assert(move_is_ok(move));
bool singleReply = (isCheck && mp.number_of_moves() == 1);
- bool moveIsCheck = pos.move_is_check(move, dcCandidates);
+ bool moveIsCheck = pos.move_is_check(move);
bool moveIsCapture = pos.move_is_capture(move);
movesSearched[moveCount++] = ss[ply].currentMove = move;
assert(move_is_ok(move));
bool singleReply = (isCheck && mp.number_of_moves() == 1);
- bool moveIsCheck = pos.move_is_check(move, dcCandidates);
+ bool moveIsCheck = pos.move_is_check(move);
bool moveIsCapture = pos.move_is_capture(move);
movesSearched[moveCount++] = ss[ply].currentMove = move;
&& !isCheck
&& !pvNode
&& !move_promotion(move)
- && !pos.move_is_check(move, dcCandidates)
+ && !pos.move_is_check(move)
&& !pos.move_is_passed_pawn_push(move))
{
Value futilityValue = staticValue
&& (move = sp->mp->get_next_move(sp->lock)) != MOVE_NONE)
{
assert(move_is_ok(move));
+ assert(pos.discovered_check_candidates(pos.side_to_move()) == sp->dcCandidates);
- bool moveIsCheck = pos.move_is_check(move, sp->dcCandidates);
+ bool moveIsCheck = pos.move_is_check(move);
bool moveIsCapture = pos.move_is_capture(move);
lock_grab(&(sp->lock));
&& !thread_should_stop(threadID)
&& (move = sp->mp->get_next_move(sp->lock)) != MOVE_NONE)
{
- bool moveIsCheck = pos.move_is_check(move, sp->dcCandidates);
+ assert(pos.discovered_check_candidates(pos.side_to_move()) == sp->dcCandidates);
+
+ bool moveIsCheck = pos.move_is_check(move);
bool moveIsCapture = pos.move_is_capture(move);
assert(move_is_ok(move));