C Configuration Space and Tuning Library (CCS)
Loading...
Searching...
No Matches
tree.h
Go to the documentation of this file.
1#ifndef _CCS_TREE_H
2#define _CCS_TREE_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
31extern ccs_result_t
32ccs_create_tree(size_t arity, ccs_datum_t value, ccs_tree_t *tree_ret);
33
45extern ccs_result_t
47
59extern ccs_result_t
60ccs_tree_get_arity(ccs_tree_t tree, size_t *arity_ret);
61
79extern ccs_result_t
80ccs_tree_set_child(ccs_tree_t tree, size_t index, ccs_tree_t child);
81
96extern ccs_result_t
97ccs_tree_get_child(ccs_tree_t tree, size_t index, ccs_tree_t *child_ret);
98
119extern ccs_result_t
121 ccs_tree_t tree,
122 size_t num_children,
123 ccs_tree_t *children,
124 size_t *num_children_ret);
125
139extern ccs_result_t
140ccs_tree_get_parent(ccs_tree_t tree, ccs_tree_t *parent_ret, size_t *index_ret);
141
161extern ccs_result_t
163 ccs_tree_t tree,
164 size_t position_size,
165 size_t *position,
166 size_t *position_size_ret);
167
187extern ccs_result_t
189 ccs_tree_t tree,
190 size_t num_values,
191 ccs_datum_t *values,
192 size_t *num_values_ret);
193
216extern ccs_result_t
218 ccs_tree_t tree,
219 size_t position_size,
220 const size_t *position,
221 size_t num_values,
222 ccs_datum_t *values);
223
242extern ccs_result_t
244 ccs_tree_t tree,
245 size_t position_size,
246 const size_t *position,
247 ccs_tree_t *tree_ret);
248
260extern ccs_result_t
262
272extern ccs_result_t
274
286extern ccs_result_t
288
298extern ccs_result_t
300
319extern ccs_result_t
320ccs_tree_sample(ccs_tree_t tree, ccs_rng_t rng, size_t *index_ret);
321
342extern ccs_result_t
344 ccs_tree_t tree,
345 ccs_rng_t rng,
346 size_t num_indices,
347 size_t *indices);
348
349#ifdef __cplusplus
350}
351#endif
352
353#endif //_CCS_TREE_SPACE_H
double ccs_float_t
A CCS floating point type.
Definition base.h:29
struct _ccs_tree_s * ccs_tree_t
An opaque type defining a CCS tree.
Definition base.h:159
enum ccs_result_e ccs_result_t
A commodity type to represent CCS errors and returned by most functions.
Definition base.h:247
struct _ccs_rng_s * ccs_rng_t
An opaque type defining a CCS random generator.
Definition base.h:87
A Structure containing a CCS datum.
Definition base.h:494
ccs_result_t ccs_tree_get_node_at_position(ccs_tree_t tree, size_t position_size, const size_t *position, ccs_tree_t *tree_ret)
Get the node at a given position from a tree node.
ccs_result_t ccs_tree_set_child(ccs_tree_t tree, size_t index, ccs_tree_t child)
Set an unset child in a tree node at the given index.
ccs_result_t ccs_tree_set_weight(ccs_tree_t tree, ccs_float_t weight)
Set the weight of a tree node.
ccs_result_t ccs_tree_get_values(ccs_tree_t tree, size_t num_values, ccs_datum_t *values, size_t *num_values_ret)
Get the values along the path leading to a node in it's tree.
ccs_result_t ccs_tree_get_value(ccs_tree_t tree, ccs_datum_t *value_ret)
Get the value of a tree node.
ccs_result_t ccs_tree_set_bias(ccs_tree_t tree, ccs_float_t bias)
Set the bias of a tree node.
ccs_result_t ccs_tree_samples(ccs_tree_t tree, ccs_rng_t rng, size_t num_indices, size_t *indices)
Sample the child index space of a tree node.
ccs_result_t ccs_tree_get_values_at_position(ccs_tree_t tree, size_t position_size, const size_t *position, size_t num_values, ccs_datum_t *values)
Get the values along the path to a given position from a tree node.
ccs_result_t ccs_tree_get_position(ccs_tree_t tree, size_t position_size, size_t *position, size_t *position_size_ret)
Get the position of a node in it's tree.
ccs_result_t ccs_tree_get_parent(ccs_tree_t tree, ccs_tree_t *parent_ret, size_t *index_ret)
Get the parent node of a tree node.
ccs_result_t ccs_tree_get_bias(ccs_tree_t tree, ccs_float_t *bias_ret)
Get the bias of a subtree.
ccs_result_t ccs_tree_get_child(ccs_tree_t tree, size_t index, ccs_tree_t *child_ret)
Query a tree node for the child at the given index.
ccs_result_t ccs_tree_get_arity(ccs_tree_t tree, size_t *arity_ret)
Get the arity of a tree node.
ccs_result_t ccs_tree_get_children(ccs_tree_t tree, size_t num_children, ccs_tree_t *children, size_t *num_children_ret)
Query all the children of a tree node.
ccs_result_t ccs_create_tree(size_t arity, ccs_datum_t value, ccs_tree_t *tree_ret)
Create new tree node.
ccs_result_t ccs_tree_sample(ccs_tree_t tree, ccs_rng_t rng, size_t *index_ret)
Sample the child index space of a a tree node.
ccs_result_t ccs_tree_get_weight(ccs_tree_t tree, ccs_float_t *weight_ret)
Get the weight of a tree node.