- int remove_bit_8(int i) { return ((i & ~15) >> 1) | (i & 7); }
-
- void init_ray_bitboards() {
-
- int d[8] = {1, -1, 16, -16, 17, -17, 15, -15};
-
- for (int i = 0; i < 128; i = (i + 9) & ~8)
- for (int j = 0; j < 8; j++)
- {
- RayBB[remove_bit_8(i)][j] = EmptyBoardBB;
- for (int k = i + d[j]; (k & 0x88) == 0; k += d[j])
- set_bit(&(RayBB[remove_bit_8(i)][j]), Square(remove_bit_8(k)));
- }
- }
-