Wrong.Desperado wrote: I agree totally to seperate the attackGetter as own interface.
The hidden implementation approach allows a change within "minutes".
My guess is that it wouldnt take longer than 10 to 15 min to change
from my current attackGetter to Miguels proposal.
No need to touch other code parts, and the oppertunity to jump
between magics,Kindergaten,Miguel's approach or even OD.
(maybe many others too) is fantastic.
That is in fact _not_ possible with Rotated bitboards.
I can switch between Kindergarten and rotated bitboards in Jazz by changing a compile-time option. The only thing that changes is the way a number of functions are implemented (the functions that extract the occupancy numbers and the functions that initialise the lookup tables, since the way I deal with "extra" bits in the case of rotated bitboards is different). Every other part of the program (including the move generator) remains the same.
It all depends on how you set up your data structures and the functions that operate on them.