bishopAttacks function

SquareSet bishopAttacks(
  1. Square square,
  2. SquareSet occupied
)

Gets squares attacked or defended by a bishop on Square, given occupied squares.

Implementation

SquareSet bishopAttacks(Square square, SquareSet occupied) {
  final bit = SquareSet.fromSquare(square);
  return _hyperbola(bit, _diagRange[square], occupied) ^
      _hyperbola(bit, _antiDiagRange[square], occupied);
}