From 65817ada2010f99374b9f112927b9eb0d689ff9d Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Wed, 30 Sep 2009 23:17:26 +0200 Subject: [PATCH] UCT tree_leaf_node(), tree_update_node_value(): Public static inline --- uct/tree.c | 18 ------------------ uct/tree.h | 19 +++++++++++++++++-- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/uct/tree.c b/uct/tree.c index 853efec..8433096 100644 --- a/uct/tree.c +++ b/uct/tree.c @@ -499,21 +499,3 @@ tree_promote_at(struct tree *tree, struct board *b, coord_t c) } return false; } - -bool -tree_leaf_node(struct tree_node *node) -{ - return !(node->children); -} - -void -tree_update_node_value(struct tree_node *node) -{ - bool noamaf = node->hints & NODE_HINT_NOAMAF; - node->u.value = (float)(node->u.wins + node->prior.wins + (!noamaf ? node->amaf.wins : 0)) - / (node->u.playouts + node->prior.playouts + (!noamaf ? node->amaf.playouts : 0)); -#if 0 - { struct board b2; board_size(&b2) = 9+2; - fprintf(stderr, "%s->%s %d/%d %d/%d %f\n", node->parent ? coord2sstr(node->parent->coord, &b2) : NULL, coord2sstr(node->coord, &b2), node->u.wins, node->u.playouts, node->prior.wins, node->prior.playouts, node->u.value); } -#endif -} diff --git a/uct/tree.h b/uct/tree.h index 3e35315..5a11817 100644 --- a/uct/tree.h +++ b/uct/tree.h @@ -70,8 +70,9 @@ void tree_expand_node(struct tree *tree, struct tree_node *node, struct board *b void tree_delete_node(struct tree *tree, struct tree_node *node); void tree_promote_node(struct tree *tree, struct tree_node *node); bool tree_promote_at(struct tree *tree, struct board *b, coord_t c); -bool tree_leaf_node(struct tree_node *node); -void tree_update_node_value(struct tree_node *node); + +static bool tree_leaf_node(struct tree_node *node); +static void tree_update_node_value(struct tree_node *node); /* Get black parity from parity within the tree. */ #define tree_parity(tree, parity) \ @@ -83,4 +84,18 @@ void tree_update_node_value(struct tree_node *node); #define tree_node_get_wins(tree, node, type, parity) \ (tree_parity(tree, parity) > 0 ? node->type.wins : node->type.playouts - node->type.wins) +static inline bool +tree_leaf_node(struct tree_node *node) +{ + return !(node->children); +} + +static inline void +tree_update_node_value(struct tree_node *node) +{ + bool noamaf = node->hints & NODE_HINT_NOAMAF; + node->u.value = (float)(node->u.wins + node->prior.wins + (!noamaf ? node->amaf.wins : 0)) + / (node->u.playouts + node->prior.playouts + (!noamaf ? node->amaf.playouts : 0)); +} + #endif -- 2.11.4.GIT