return SquareDistance[s1][s2];
}
-inline char piece_type_to_char(PieceType pt) {
- return " PNBRQK"[pt];
-}
-
inline char file_to_char(File f) {
return char(f - FILE_A + int('a'));
}
return Move(to | (from << 6));
}
-inline Move make_promotion(Square from, Square to, PieceType pt) {
- return Move(to | (from << 6) | (1 << 14) | ((pt - 2) << 12)) ;
-}
-
-inline Move make_enpassant(Square from, Square to) {
- return Move(to | (from << 6) | (2 << 14));
-}
-
-inline Move make_castle(Square from, Square to) {
- return Move(to | (from << 6) | (3 << 14));
+template<MoveType T>
+inline Move make(Square from, Square to, PieceType pt = KNIGHT) {
+ return Move(to | (from << 6) | T | ((pt - KNIGHT) << 12)) ;
}
inline bool is_ok(Move m) {