along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "movegen.h"
+
#include <cassert>
+#include <initializer_list>
-#include "movegen.h"
+#include "bitboard.h"
#include "position.h"
namespace Stockfish {
/// <CAPTURES> Generates all pseudo-legal captures plus queen promotions
/// <QUIETS> Generates all pseudo-legal non-captures and underpromotions
-/// <EVASIONS> Generates all pseudo-legal check evasions when the side to move is in check
-/// <QUIET_CHECKS> Generates all pseudo-legal non-captures giving check, except castling and promotions
+/// <EVASIONS> Generates all pseudo-legal check evasions
/// <NON_EVASIONS> Generates all pseudo-legal captures and non-captures
+/// <QUIET_CHECKS> Generates all pseudo-legal non-captures giving check,
+/// except castling and promotions
///
/// Returns a pointer to the end of the move list.
ExtMove* generate(const Position& pos, ExtMove* moveList) {
static_assert(Type != LEGAL, "Unsupported type in generate()");
- assert((Type == EVASIONS) == (bool)pos.checkers());
+ assert((Type == EVASIONS) == bool(pos.checkers()));
Color us = pos.side_to_move();