summaryrefslogtreecommitdiff
path: root/include/engine/magic.h
blob: 1c9f303324537a9ccb4682d132e2c8fd9b2cb6dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef MAGIC_H
#define MAGIC_H

#include "ints.h"
#include "bitboard.h"
#include "random.h"

typedef struct {
  bitboard_t mask;
  bitboard_t *attacks;
  bitboard_t magic;
  int shift;
} magic_t;

void magic_init(void);
bitboard_t get_rook_attacks(int sq, bitboard_t occ);
bitboard_t get_bishop_attacks(int sq, bitboard_t occ);

#endif // MAGIC_H