133 constexpr auto notAFile = file_masks::A.inverse();
134 constexpr auto notHFile = file_masks::H.inverse();
135 constexpr auto notABFile = (file_masks::A | file_masks::B).inverse();
136 constexpr auto notGHFile = (file_masks::G | file_masks::H).inverse();
140 moves |= (starting & notHFile) << 17uz;
141 moves |= (starting & notGHFile) << 10uz;
142 moves |= (starting & notGHFile) >> 6uz;
143 moves |= (starting & notHFile) >> 15uz;
144 moves |= (starting & notAFile) << 15uz;
145 moves |= (starting & notABFile) << 6uz;
146 moves |= (starting & notABFile) >> 10uz;
147 moves |= (starting & notAFile) >> 17uz;