pachi_py/pachi/joseki/base.h (16 lines of code) (raw):
#ifndef PACHI_JOSEKI_BASE_H
#define PACHI_JOSEKI_BASE_H
#include "board.h"
/* Single joseki situation - moves for S_BLACK-1, S_WHITE-1. */
struct joseki_pattern {
/* moves[] is a pass-terminated list or NULL */
coord_t *moves[2];
};
/* The joseki dictionary for given board size. */
struct joseki_dict {
int bsize;
#define joseki_hash_bits 20 // 8M w/ 32-bit pointers
#define joseki_hash_mask ((1 << joseki_hash_bits) - 1)
struct joseki_pattern *patterns;
};
struct joseki_dict *joseki_init(int bsize);
struct joseki_dict *joseki_load(int bsize);
void joseki_done(struct joseki_dict *);
#endif