6template <osl::Direction Dir>
14 for(
int i=1;i<=8;i++){
27 for(
int i=1;i<=10;i++){
35template <osl::Direction Dir>
41 short_offsets[offset32.
index()]=offset;
42 short_offsets[(-offset32).index()]= -offset;
49 short_offsets_not_knight.fill();
51 space_counts.fill(-1);
53 setDirections<LONG_UL>();
54 setDirections<LONG_U>();
55 setDirections<LONG_UR>();
56 setDirections<LONG_L>();
57 setDirections<LONG_R>();
58 setDirections<LONG_DL>();
59 setDirections<LONG_D>();
60 setDirections<LONG_DR>();
61 setKnightDirections<UUL>();
62 setKnightDirections<UUR>();
67 assert(! getOffset(
BLACK,
UL).zero());
CArray< Offset, Offset32::SIZE > short_offsets
void setKnightDirections()
CArray< Offset, Offset32::SIZE > short_offsets_not_knight
CArray< int, Offset32Wide::SIZE > space_counts
CArray< Direction, Offset32::SIZE > directions
CArray< signed char, Offset::ONBOARD_OFFSET_SIZE > short8Offset
CArray< unsigned char, Offset::ONBOARD_OFFSET_SIZE > short8Dir
unsigned int index() const
Offset32Base< 10, 10 > Offset32Wide
constexpr Direction longToShort(Direction d)
@ DIRECTION_INVALID_VALUE
Offset32Base< 8, 9 > Offset32