assert(square_is_ok(s));
Bitboard occ, xray;
- Square from = move_from(m);
- Square to = move_to(m);
+ Square from = from_sq(m);
+ Square to = to_sq(m);
Piece piece = piece_on(from);
assert(!square_is_empty(from));
assert(pinned == pinned_pieces());
Color us = side_to_move();
- Square from = move_from(m);
+ Square from = from_sq(m);
assert(color_of(piece_on(from)) == us);
assert(piece_on(king_square(us)) == make_piece(us, KING));
if (is_enpassant(m))
{
Color them = flip(us);
- Square to = move_to(m);
+ Square to = to_sq(m);
Square capsq = to + pawn_push(them);
Square ksq = king_square(us);
Bitboard b = occupied_squares();
// square is attacked by the opponent. Castling moves are checked
// for legality during move generation.
if (type_of(piece_on(from)) == KING)
- return is_castle(m) || !(attackers_to(move_to(m)) & pieces(flip(us)));
+ return is_castle(m) || !(attackers_to(to_sq(m)) & pieces(flip(us)));
// A non-king move is legal if and only if it is not pinned or it
// is moving along the ray towards or away from the king.
return !pinned
|| !bit_is_set(pinned, from)
- || squares_aligned(from, move_to(m), king_square(us));
+ || squares_aligned(from, to_sq(m), king_square(us));
}
Color us = sideToMove;
Color them = flip(sideToMove);
- Square from = move_from(m);
- Square to = move_to(m);
+ Square from = from_sq(m);
+ Square to = to_sq(m);
Piece pc = piece_on(from);
// Use a slower but simpler function for uncommon cases
{
Bitboard b = occupied_squares();
clear_bit(&b, from);
- if (attackers_to(move_to(m), b) & pieces(flip(us)))
+ if (attackers_to(to_sq(m), b) & pieces(flip(us)))
return false;
}
else
// Our move must be a blocking evasion or a capture of the checking piece
target = squares_between(checksq, king_square(us)) | checkers();
- if (!bit_is_set(target, move_to(m)))
+ if (!bit_is_set(target, to_sq(m)))
return false;
}
}
assert(is_ok(m));
assert(ci.dcCandidates == discovered_check_candidates());
- assert(color_of(piece_on(move_from(m))) == side_to_move());
+ assert(color_of(piece_on(from_sq(m))) == side_to_move());
- Square from = move_from(m);
- Square to = move_to(m);
+ Square from = from_sq(m);
+ Square to = to_sq(m);
PieceType pt = type_of(piece_on(from));
// Direct check ?
Color us = side_to_move();
Color them = flip(us);
- Square from = move_from(m);
- Square to = move_to(m);
+ Square from = from_sq(m);
+ Square to = to_sq(m);
Piece piece = piece_on(from);
PieceType pt = type_of(piece);
PieceType capture = is_enpassant(m) ? PAWN : type_of(piece_on(to));
Color us = side_to_move();
Color them = flip(us);
- Square from = move_from(m);
- Square to = move_to(m);
+ Square from = from_sq(m);
+ Square to = to_sq(m);
Piece piece = piece_on(to);
PieceType pt = type_of(piece);
PieceType capture = st->capturedType;
Square kto, kfrom, rfrom, rto, kAfter, rAfter;
Color us = side_to_move();
- Square kBefore = move_from(m);
- Square rBefore = move_to(m);
+ Square kBefore = from_sq(m);
+ Square rBefore = to_sq(m);
// Find after-castle squares for king and rook
if (rBefore > kBefore) // O-O
assert(is_ok(m));
- Square from = move_from(m);
- Square to = move_to(m);
+ Square from = from_sq(m);
+ Square to = to_sq(m);
// Early return if SEE cannot be negative because captured piece value
// is not less then capturing one. Note that king moves always return
if (is_castle(m))
return 0;
- from = move_from(m);
- to = move_to(m);
+ from = from_sq(m);
+ to = to_sq(m);
capturedType = type_of(piece_on(to));
occ = occupied_squares();