return Move((from << 6) + to);
}
+constexpr Move reverse_move(Move m) {
+ return make_move(to_sq(m), from_sq(m));
+}
+
template<MoveType T>
constexpr Move make(Square from, Square to, PieceType pt = KNIGHT) {
return Move(T + ((pt - KNIGHT) << 12) + (from << 6) + to);