When generating attack tables for a rook, why do we consider all 2^(number of set bits on the mask)
potential configurations of empty or occupied squares along the ranks and files where a rook can move?
Specifically, why are nonsensical configurations included given that they don't accurately represent legal moves a rook can make?
Take this example :
X 1 1 0 1 1
and X 1 1 0 0 0
result in the same legal move for a rook. Allowing only legal combinations, the rook table could be reduced from 4096 to 144.