From 880663790b246f31eb0460017b9c782e83c552e7 Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Tue, 17 Jan 2012 21:10:07 +0100 Subject: [PATCH] playout.pat: New attribute for pattern database access from playouts --- playout.h | 4 ++++ uct/uct.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/playout.h b/playout.h index 68aff84..b73af62 100644 --- a/playout.h +++ b/playout.h @@ -38,6 +38,7 @@ typedef bool (*playoutp_permit)(struct playout_policy *playout_policy, struct bo /* Tear down the policy state; policy and policy->data will be free()d by caller. */ typedef void (*playoutp_done)(struct playout_policy *playout_policy); +struct pattern_setup; struct playout_policy { int debug_level; /* We call setboard when we start new playout. @@ -51,6 +52,9 @@ struct playout_policy { playoutp_done done; /* Particular playout policy's internal data. */ void *data; + /* Gateway for pattern database. */ + bool want_pat; + struct pattern_setup *pat; }; diff --git a/uct/uct.c b/uct/uct.c index 385ee5d..98c414f 100644 --- a/uct/uct.c +++ b/uct/uct.c @@ -1063,8 +1063,9 @@ uct_state_init(char *arg, struct board *b) if (!u->playout->debug_level) u->playout->debug_level = u->debug_level; - if (u->want_pat && !pat_setup) + if ((u->want_pat || u->playout->want_pat) && !pat_setup) patterns_init(&u->pat, NULL, false, true); + u->playout->pat = &u->pat; u->ownermap.map = malloc2(board_size2(b) * sizeof(u->ownermap.map[0])); -- 2.11.4.GIT