1#ifndef _CCS_PARAMETER_H
2#define _CCS_PARAMETER_H
189 size_t num_possible_values,
191 size_t default_value_index,
219 size_t num_possible_values,
221 size_t *num_possible_values_ret);
247 size_t num_possible_values,
249 size_t default_value_index,
277 size_t num_possible_values,
279 size_t *num_possible_values_ret);
328 size_t num_possible_values,
330 size_t default_value_index,
358 size_t num_possible_values,
360 size_t *num_possible_values_ret);
int64_t ccs_int_t
A CCS integer type.
Definition base.h:33
int32_t ccs_bool_t
A CCS boolean type.
Definition base.h:37
struct _ccs_parameter_s * ccs_parameter_t
An opaque type defining a CCS parameter.
Definition base.h:95
double ccs_float_t
A CCS floating point type.
Definition base.h:29
enum ccs_numeric_type_e ccs_numeric_type_t
A commodity type to represent CCS numeric types.
Definition base.h:384
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
struct _ccs_distribution_s * ccs_distribution_t
An opaque type defining a CCS distribution.
Definition base.h:91
ccs_result_t ccs_create_discrete_parameter(const char *name, size_t num_possible_values, ccs_datum_t *possible_values, size_t default_value_index, ccs_parameter_t *parameter_ret)
Create a new discrete parameter.
ccs_result_t ccs_parameter_samples(ccs_parameter_t parameter, ccs_distribution_t distribution, ccs_rng_t rng, size_t num_values, ccs_datum_t *values)
Get samples from the parameter sampled by a given distribution.
ccs_result_t ccs_discrete_parameter_get_values(ccs_parameter_t parameter, size_t num_possible_values, ccs_datum_t *possible_values, size_t *num_possible_values_ret)
Get the possible values of an discrete parameter.
ccs_result_t ccs_parameter_convert_samples(ccs_parameter_t parameter, ccs_bool_t oversampling, size_t num_values, const ccs_numeric_t *values, ccs_datum_t *results)
Convert numerical samples into samples from the parameter.
ccs_result_t ccs_create_int_numerical_parameter(const char *name, ccs_int_t lower, ccs_int_t upper, ccs_int_t quantization, ccs_int_t default_value, ccs_parameter_t *parameter_ret)
Create a new integer numerical parameter.
ccs_result_t ccs_parameter_check_value(ccs_parameter_t parameter, ccs_datum_t value, ccs_bool_t *result_ret)
Check if a value is acceptable for a parameter.
enum ccs_parameter_type_e ccs_parameter_type_t
A commodity type to represent a parameter type.
Definition parameter.h:51
ccs_result_t ccs_parameter_get_default_distribution(ccs_parameter_t parameter, ccs_distribution_t *distribution_ret)
Get the default distribution of a parameter.
ccs_result_t ccs_parameter_validate_value(ccs_parameter_t parameter, ccs_datum_t value, ccs_datum_t *value_ret, ccs_bool_t *result_ret)
Check if a value is acceptable for a parameter and if it is return a marshalled value.
ccs_result_t ccs_numerical_parameter_get_properties(ccs_parameter_t parameter, ccs_numeric_type_t *data_type_ret, ccs_numeric_t *lower_ret, ccs_numeric_t *upper_ret, ccs_numeric_t *quantization_ret)
Get the properties used to create a numerical parameter.
ccs_result_t ccs_create_numerical_parameter(const char *name, ccs_numeric_type_t data_type, ccs_numeric_t lower, ccs_numeric_t upper, ccs_numeric_t quantization, ccs_numeric_t default_value, ccs_parameter_t *parameter_ret)
Create a new numerical parameter of the specified data_type.
ccs_result_t ccs_parameter_get_default_value(ccs_parameter_t parameter, ccs_datum_t *value_ret)
Get the default value of an parameter.
ccs_result_t ccs_create_ordinal_parameter(const char *name, size_t num_possible_values, ccs_datum_t *possible_values, size_t default_value_index, ccs_parameter_t *parameter_ret)
Create a new ordinal parameter.
ccs_result_t ccs_categorical_parameter_get_values(ccs_parameter_t parameter, size_t num_possible_values, ccs_datum_t *possible_values, size_t *num_possible_values_ret)
Get the possible values of a categorical parameter.
ccs_result_t ccs_parameter_sampling_interval(ccs_parameter_t parameter, ccs_interval_t *interval_ret)
Get the valid sampling interval of the parameter.
ccs_result_t ccs_parameter_copy(ccs_parameter_t parameter, ccs_parameter_t *parameter_ret)
Create a copy of a parameter.
ccs_result_t ccs_parameter_get_type(ccs_parameter_t parameter, ccs_parameter_type_t *type_ret)
Get the type of a parameter.
ccs_result_t ccs_parameter_check_values(ccs_parameter_t parameter, size_t num_values, const ccs_datum_t *values, ccs_bool_t *results)
Check if an array of values are acceptable for a parameter.
ccs_result_t ccs_create_categorical_parameter(const char *name, size_t num_possible_values, ccs_datum_t *possible_values, size_t default_value_index, ccs_parameter_t *parameter_ret)
Create a new categorical parameter.
ccs_result_t ccs_create_string_parameter(const char *name, ccs_parameter_t *parameter_ret)
Create an new parameter representing an undetermined string, to be used within feature space.
ccs_result_t ccs_parameter_validate_values(ccs_parameter_t parameter, size_t num_values, const ccs_datum_t *values, ccs_datum_t *values_ret, ccs_bool_t *results)
Check if an array of values are acceptable for a parameter and return marshalled values if they are v...
ccs_result_t ccs_create_float_numerical_parameter(const char *name, ccs_float_t lower, ccs_float_t upper, ccs_float_t quantization, ccs_float_t default_value, ccs_parameter_t *parameter_ret)
Create a new floating point numerical parameter.
ccs_result_t ccs_parameter_sample(ccs_parameter_t parameter, ccs_distribution_t distribution, ccs_rng_t rng, ccs_datum_t *value_ret)
Get a sample from the parameter sampled by a given distribution.
ccs_result_t ccs_parameter_get_name(ccs_parameter_t parameter, const char **name_ret)
Get the name of a parameter.
ccs_result_t ccs_ordinal_parameter_get_values(ccs_parameter_t parameter, size_t num_possible_values, ccs_datum_t *possible_values, size_t *num_possible_values_ret)
Get the possible values of an ordinal parameter.
ccs_result_t ccs_ordinal_parameter_compare_values(ccs_parameter_t parameter, ccs_datum_t value1, ccs_datum_t value2, ccs_int_t *comp_ret)
Compare two values in the context of an ordinal parameter.
ccs_parameter_type_e
CCS parameter types.
Definition parameter.h:19
@ CCS_PARAMETER_TYPE_ORDINAL
An ordinal parameter.
Definition parameter.h:33
@ CCS_PARAMETER_TYPE_FORCE_32BIT
Try forcing 32 bits value for bindings.
Definition parameter.h:45
@ CCS_PARAMETER_TYPE_STRING
A string parameter.
Definition parameter.h:41
@ CCS_PARAMETER_TYPE_CATEGORICAL
A categorical parameter.
Definition parameter.h:28
@ CCS_PARAMETER_TYPE_DISCRETE
A discrete parameter.
Definition parameter.h:37
@ CCS_PARAMETER_TYPE_MAX
Guard.
Definition parameter.h:43
@ CCS_PARAMETER_TYPE_NUMERICAL
A numerical parameter, over integers or floating point values.
Definition parameter.h:23
A Structure containing a CCS datum.
Definition base.h:494
A structure defining an interval over numeric values.
Definition interval.h:16
A union that can contain either a ccs_int_t or a ccs_float_t.
Definition base.h:394