fbook: Increase fbook_hash_bits to 20 to accomodate even large fbooks like ra6
[pachi/json.git] / fbook.h
blob20077fb2d5cc102c7a922a1ca49e5a5d93ee7195
1 #ifndef PACHI_FBOOK_H
2 #define PACHI_FBOOK_H
4 #include "move.h"
6 struct board;
8 /* Opening book (fbook as in "forcing book" since the move is just
9 * played unconditionally if found, or possibly "fuseki book"). */
11 struct fbook {
12 int bsize;
13 int handicap;
15 #define fbook_hash_bits 20 // 12M w/ 32-bit coord_t
16 #define fbook_hash_mask ((1 << fbook_hash_bits) - 1)
17 /* pass == no move in this position */
18 coord_t moves[1<<fbook_hash_bits];
19 hash_t hashes[1<<fbook_hash_bits];
22 coord_t fbook_check(struct board *board);
23 struct fbook *fbook_init(char *filename, struct board *b);
24 void fbook_done(struct fbook *fbook);
26 #endif