Cvc5Statistics
See Statistics for general information on statistics in cvc5.
Struct cvc5::Statistics
represents a mapping from statistic names
to statistic values, which are represented by struct Cvc5Stat
. A
Cvc5Stat
may hold values of different
types (bool
, int64_t
, uint64_t
, double
, const char*
and
histograms) and can be inspected by identifying the type via functions
cvc5_stat_is_<type>
and obtaining
the actual value via functions cvc5_stat_get_<type>
.
Histograms are represented as a paar of arrays (const char** keys[]
and
uint64_t* values[]
) where the key is the string representation of one
enumeration value and the value is the frequency of this particular value.
A statistics iterator can be initialized via cvc5_stats_iter_init()
,
which allows to configure the visbility of internal and unchanged statistic
entries. Iteration over statistics entries is then provided via functions
cvc5_stats_iter_has_next()
and cvc5_stats_iter_next()
.
-
typedef struct cvc5_stat_t *Cvc5Stat
A cvc5 statistic.
-
bool cvc5_stat_is_internal(Cvc5Stat stat)
Determine if a given statistic is intended for internal use only.
- Parameters:
stat – The statistic.
- Returns:
True if this is an internal statistic.
-
bool cvc5_stat_is_default(Cvc5Stat stat)
Determine if a given statistics statistic holds the default value.
- Parameters:
stat – The statistic.
- Returns:
True if this is a defaulted statistic.
-
bool cvc5_stat_is_int(Cvc5Stat stat)
Determine if a given statistic holds an integer value.
- Parameters:
stat – The statistic.
- Returns:
True if this value is an integer.
-
int64_t cvc5_stat_get_int(Cvc5Stat stat)
Get the value of an integer statistic.
- Parameters:
stat – The statistic.
- Returns:
The integer value.
-
bool cvc5_stat_is_double(Cvc5Stat stat)
Determine if a given statistic holds a double value.
- Parameters:
stat – The statistic.
- Returns:
True if this value is a double.
-
double cvc5_stat_get_double(Cvc5Stat stat)
Get the value of a double statistic.
- Parameters:
stat – The statistic.
- Returns:
The double value.
-
bool cvc5_stat_is_string(Cvc5Stat stat)
Determine if a given statistic holds a string value.
- Parameters:
stat – The statistic.
- Returns:
True if this value is a string.
-
const char *cvc5_stat_get_string(Cvc5Stat stat)
Get value of a string statistic.
Note
The returned char pointer is only valid until the next call to this function.
- Parameters:
stat – The statistic.
- Returns:
The string value.
-
bool cvc5_stat_is_histogram(Cvc5Stat stat)
Determine if a given statistic holds a histogram.
- Parameters:
stat – The statistic.
- Returns:
True if this value is a histogram.
-
void cvc5_stat_get_histogram(Cvc5Stat stat, const char **keys[], uint64_t *values[], size_t *size)
Get the value of a histogram statistic.
- Parameters:
stat – The statistic.
- Returns:
The histogram value.
-
const char *cvc5_stat_to_string(Cvc5Stat stat)
Get a string representation of a given statistic.
Note
The returned char* pointer is only valid until the next call to this function.
- Parameters:
stat – The statistic.
- Returns:
The string representation.
-
typedef struct cvc5_stats_t *Cvc5Statistics
A cvc5 statistics instance.
Warning
doxygengroup: Cannot find group “c_cvc5statistics” in doxygen xml output for project “cvc5_c” from directory: /home/runner/work/cvc5/cvc5/build-shared/docs/api/c/doxygen/xml