1#ifndef _CCS_CONFIGURATION_SPACE
2#define _CCS_CONFIGURATION_SPACE
61 size_t num_parameters,
64 size_t num_forbidden_clauses,
123 size_t parameter_index,
153 size_t num_expressions,
155 size_t *num_expressions_ret);
203 size_t num_expressions,
205 size_t *num_expressions_ret);
307 size_t num_configurations,
struct _ccs_expression_s * ccs_expression_t
An opaque type defining a CCS expression.
Definition base.h:99
struct _ccs_feature_space_s * ccs_feature_space_t
An opaque type defining a CCS feature space.
Definition base.h:131
struct _ccs_parameter_s * ccs_parameter_t
An opaque type defining a CCS parameter.
Definition base.h:95
struct _ccs_configuration_s * ccs_configuration_t
An opaque type defining a CCS configuration.
Definition base.h:127
struct _ccs_distribution_space_s * ccs_distribution_space_t
An opaque type defining a CCS distribution space.
Definition base.h:107
struct _ccs_features_s * ccs_features_t
An opaque type defining a CCS features.
Definition base.h:135
struct _ccs_configuration_space_s * ccs_configuration_space_t
An opaque type defining a CCS configuration space.
Definition base.h:115
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
ccs_result_t ccs_configuration_space_get_condition(ccs_configuration_space_t configuration_space, size_t parameter_index, ccs_expression_t *expression_ret)
Get the active condition of a parameter in a configuration space given it's index.
ccs_result_t ccs_configuration_space_get_forbidden_clauses(ccs_configuration_space_t configuration_space, size_t num_expressions, ccs_expression_t *expressions, size_t *num_expressions_ret)
Get the forbidden clauses in a configuration space.
ccs_result_t ccs_configuration_space_get_default_configuration(ccs_configuration_space_t configuration_space, ccs_features_t features, ccs_configuration_t *configuration_ret)
Get the default configuration of a configuration space.
ccs_result_t ccs_configuration_space_samples(ccs_configuration_space_t configuration_space, ccs_distribution_space_t distribution_space, ccs_features_t features, ccs_rng_t rng, size_t num_configurations, ccs_configuration_t *configurations)
Get a given number of configurations sampled randomly from a configuration space.
ccs_result_t ccs_configuration_space_get_conditions(ccs_configuration_space_t configuration_space, size_t num_expressions, ccs_expression_t *expressions, size_t *num_expressions_ret)
Get the active conditions of the parameters in a configuration space.
ccs_result_t ccs_configuration_space_get_feature_space(ccs_configuration_space_t configuration_space, ccs_feature_space_t *feature_space_ret)
Get the feature space of the configuration space.
ccs_result_t ccs_create_configuration_space(const char *name, size_t num_parameters, ccs_parameter_t *parameters, ccs_expression_t *conditions, size_t num_forbidden_clauses, ccs_expression_t *forbidden_clauses, ccs_feature_space_t feature_space, ccs_rng_t rng, ccs_configuration_space_t *configuration_space_ret)
Create a new configuration space.
ccs_result_t ccs_configuration_space_get_forbidden_clause(ccs_configuration_space_t configuration_space, size_t index, ccs_expression_t *expression_ret)
Get the forbidden clause of rank index in a configuration space.
ccs_result_t ccs_configuration_space_sample(ccs_configuration_space_t configuration_space, ccs_distribution_space_t distribution_space, ccs_features_t features, ccs_rng_t rng, ccs_configuration_t *configuration_ret)
Get a configuration sampled randomly from a configuration space.
ccs_result_t ccs_configuration_space_get_rng(ccs_configuration_space_t configuration_space, ccs_rng_t *rng_ret)
Get the internal rng of the configuration space.