X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmovegen.cpp;h=a0c06aa8dc6404f1c4b4df109a7fefa6ae0ef67f;hp=783fed7854e1376fdad63f771ee35841b3d347c1;hb=1a8f63a8963fa9c3afd043f4c611df8a5afcf038;hpb=cd782c11ec8e765e3a323e422cea19d7d053a07c diff --git a/src/movegen.cpp b/src/movegen.cpp index 783fed78..a0c06aa8 100644 --- a/src/movegen.cpp +++ b/src/movegen.cpp @@ -32,7 +32,7 @@ namespace { template - MoveStack* generate_castle(const Position& pos, MoveStack* mlist, Color us) { + ExtMove* generate_castle(const Position& pos, ExtMove* mlist, Color us) { if (pos.castle_impeded(us, Side) || !pos.can_castle(make_castle_right(us, Side))) return mlist; @@ -69,8 +69,8 @@ namespace { template - inline MoveStack* generate_promotions(MoveStack* mlist, Bitboard pawnsOn7, - Bitboard target, const CheckInfo* ci) { + inline ExtMove* generate_promotions(ExtMove* mlist, Bitboard pawnsOn7, + Bitboard target, const CheckInfo* ci) { Bitboard b = shift_bb(pawnsOn7) & target; @@ -101,8 +101,8 @@ namespace { template - MoveStack* generate_pawn_moves(const Position& pos, MoveStack* mlist, - Bitboard target, const CheckInfo* ci) { + ExtMove* generate_pawn_moves(const Position& pos, ExtMove* mlist, + Bitboard target, const CheckInfo* ci) { // Compute our parametrized parameters at compile time, named according to // the point of view of white side. @@ -206,8 +206,8 @@ namespace { template FORCE_INLINE - MoveStack* generate_moves(const Position& pos, MoveStack* mlist, Color us, - Bitboard target, const CheckInfo* ci) { + ExtMove* generate_moves(const Position& pos, ExtMove* mlist, Color us, + Bitboard target, const CheckInfo* ci) { assert(Pt != KING && Pt != PAWN); @@ -238,8 +238,8 @@ namespace { template FORCE_INLINE - MoveStack* generate_all(const Position& pos, MoveStack* mlist, Color us, - Bitboard target, const CheckInfo* ci = NULL) { + ExtMove* generate_all(const Position& pos, ExtMove* mlist, Color us, + Bitboard target, const CheckInfo* ci = NULL) { const bool Checks = Type == QUIET_CHECKS; @@ -289,7 +289,7 @@ namespace { /// non-captures. Returns a pointer to the end of the move list. template -MoveStack* generate(const Position& pos, MoveStack* mlist) { +ExtMove* generate(const Position& pos, ExtMove* mlist) { assert(Type == CAPTURES || Type == QUIETS || Type == NON_EVASIONS); assert(!pos.checkers()); @@ -304,15 +304,15 @@ MoveStack* generate(const Position& pos, MoveStack* mlist) { } // Explicit template instantiations -template MoveStack* generate(const Position&, MoveStack*); -template MoveStack* generate(const Position&, MoveStack*); -template MoveStack* generate(const Position&, MoveStack*); +template ExtMove* generate(const Position&, ExtMove*); +template ExtMove* generate(const Position&, ExtMove*); +template ExtMove* generate(const Position&, ExtMove*); /// generate generates all pseudo-legal non-captures and knight /// underpromotions that give check. Returns a pointer to the end of the move list. template<> -MoveStack* generate(const Position& pos, MoveStack* mlist) { +ExtMove* generate(const Position& pos, ExtMove* mlist) { assert(!pos.checkers()); @@ -342,7 +342,7 @@ MoveStack* generate(const Position& pos, MoveStack* mlist) { /// generate generates all pseudo-legal check evasions when the side /// to move is in check. Returns a pointer to the end of the move list. template<> -MoveStack* generate(const Position& pos, MoveStack* mlist) { +ExtMove* generate(const Position& pos, ExtMove* mlist) { assert(pos.checkers()); @@ -404,9 +404,9 @@ MoveStack* generate(const Position& pos, MoveStack* mlist) { /// generate generates all the legal moves in the given position template<> -MoveStack* generate(const Position& pos, MoveStack* mlist) { +ExtMove* generate(const Position& pos, ExtMove* mlist) { - MoveStack *end, *cur = mlist; + ExtMove *end, *cur = mlist; Bitboard pinned = pos.pinned_pieces(); Square ksq = pos.king_square(pos.side_to_move());