64ビットのロングビットボード表現のインデックスを指定して、レイアタックを計算しようとしています。
(defn se [board index]
  "Produces a ray attack from the indexed bit in the south-east direction"
  (reduce bit-or
    (for [bit (rest (range index 0 -7))]
      (bit-flip board bit))))
ルーク攻撃(ファイルまたはランクに沿ったストレート)は十分に簡単です。ただし、上記のコードの問題は、斜めのビショップ攻撃の可能性が次のようになることです。
00000000
00100000
01000000
10000001
00000010
00000100
00001000
00010000
ピースがボードの端から外れた場合、どのように説明すればよいですか?ビッグエンディアンマッピング(A8 = 0、H1 = 63)を使用しています。