spot
0.9.1
|
Base class for random formula generators. More...
#include <ltlvisit/randomltl.hh>
Classes | |
struct | op_proba |
Public Member Functions | |
random_formula (unsigned proba_size, const atomic_prop_set *ap) | |
virtual | ~random_formula () |
const atomic_prop_set * | ap () const |
Return the set of atomic proposition used to build formulae. | |
const formula * | generate (int n) const |
Generate a formula of size n. | |
std::ostream & | dump_priorities (std::ostream &os) const |
Print the priorities of each operator, constants, and atomic propositions. | |
const char * | parse_options (char *options) |
Update the priorities used to generate the formulae. | |
Protected Member Functions | |
void | update_sums () |
Protected Attributes | |
unsigned | proba_size_ |
op_proba * | proba_ |
double | total_1_ |
op_proba * | proba_2_ |
double | total_2_ |
op_proba * | proba_2_or_more_ |
double | total_2_and_more_ |
const atomic_prop_set * | ap_ |
Base class for random formula generators.
spot::ltl::random_formula::random_formula | ( | unsigned | proba_size, |
const atomic_prop_set * | ap | ||
) | [inline] |
virtual spot::ltl::random_formula::~random_formula | ( | ) | [inline, virtual] |
References proba_.
const atomic_prop_set* spot::ltl::random_formula::ap | ( | ) | const [inline] |
Return the set of atomic proposition used to build formulae.
References ap_.
std::ostream& spot::ltl::random_formula::dump_priorities | ( | std::ostream & | os | ) | const |
Print the priorities of each operator, constants, and atomic propositions.
const formula* spot::ltl::random_formula::generate | ( | int | n | ) | const |
Generate a formula of size n.
It is possible to obtain formulae that are smaller than n, because some simple simplifications are performed by the AST. (For instance the formula a | a
is automatically reduced to a
by spot::ltl::multop.)
const char* spot::ltl::random_formula::parse_options | ( | char * | options | ) |
Update the priorities used to generate the formulae.
options should be comma-separated list of KEY=VALUE assignments, using keys from the above list. For instance "xor=0, F=3"
will prevent xor
from being used, and will raise the relative probability of occurrences of the F
operator.
void spot::ltl::random_formula::update_sums | ( | ) | [protected] |
const atomic_prop_set* spot::ltl::random_formula::ap_ [protected] |
Referenced by ap().
op_proba* spot::ltl::random_formula::proba_ [protected] |
Referenced by ~random_formula().
op_proba* spot::ltl::random_formula::proba_2_ [protected] |
op_proba* spot::ltl::random_formula::proba_2_or_more_ [protected] |
unsigned spot::ltl::random_formula::proba_size_ [protected] |
double spot::ltl::random_formula::total_1_ [protected] |
double spot::ltl::random_formula::total_2_ [protected] |
double spot::ltl::random_formula::total_2_and_more_ [protected] |