It is not a different meaning, just a way of bitwise anding a bitboard with a single square.Joost Buijs wrote:For a programmer it is just counterintuitive, and it doesn't serve any purpose.Joerg Oster wrote: That's quite funny, because for me as a non-programmer this was rather easy to understand.
And I find it far better readable code than to always write "SquareBB[square]" ...
The & operator is defined to do a bitwise and, when you overload it and give it a different meaning this is very confusing.
Of course it is confusing the first time you dive into SF code and see this construct, but it is normal that you need to get to know the code a bit.