src/attack.cpp
Bitboard queen_moves(Square_t sq, Bitboard occupied) {
#ifdef USE_SSE
    #if defined (__GNUC__)
#if defined (__BMI2__)
    return attacks_rook(sq, occupied) | attacks_bishop(sq, occupied);
#endif // __BMI2__
#endif // __GNUC__
#else
    return horzvert_mask(sq, occupied) | diag_mask(sq, occupied);
#endif
}
/**
 * Computes all pseudo-legal moves of specified queen
 * @param  sq square the queen occupies
 * @param  occupied bitboard of occupied squares
 * @return bitboard of pseudo-legal queen moves
 */
Computes all pseudo-legal moves of specified queen
@param  sq square the queen occupies
@param  occupied bitboard of occupied squares
@return bitboard of pseudo-legal queen moves
Computes all pseudo - legal moves of specified queen @param sq square the queen occupies @param occupied bitboard of occupied squares @return bitboard of pseudo - legal queen moves
Bitboard queen_moves(Square_t sq, Bitboard occupied) {
#ifdef USE_SSE
    #if defined (__GNUC__)
#if defined (__BMI2__)
    return attacks_rook(sq, occupied) | attacks_bishop(sq, occupied);
#endif 
#endif 
#else
    return horzvert_mask(sq, occupied) | diag_mask(sq, occupied);
#endif
}
Bitboard queen_moves ( Square_t sq , Bitboard occupied ) { #ifdef USE_SSE #if defined ( __GNUC__ ) #if defined ( __BMI2__ ) return attacks_rook ( sq , occupied ) | attacks_bishop ( sq , occupied ) ; #endif #endif #else return horzvert_mask ( sq , occupied ) | diag_mask ( sq , occupied ) ; #endif }
Computes all pseudo-legal moves of specified queen
 @param  sq square the queen occupies
 @param  occupied bitboard of occupied squares
 @return bitboard of pseudo-legal queen moves
Computes all pseudo - legal moves of specified queen @param sq square the queen occupies @param occupied bitboard of occupied squares @return bitboard of pseudo - legal queen moves
// __BMI2__ // __GNUC__