It is crucial, of course, to use unsigned types when it comes to shift operations, since especially a right shift applied to a signed value may deliver surprising results (sign bit propagated). This favors unsigned literals for bitboards.Aleks Peshkov wrote:Magic bitboard literals do not used directly, but stored in preinitialised array, so the array type definition matters. There are some other cases when ULL or LL may influence correctness, for example, deBruijin bitboard serialization code.
Sven