#include <automata.h>
Public Member Functions | |
bool | isIntersect (Automata *au, int size) |
Automata (Condition *n, std::map< int, int > *numvars) | |
Automata (Condition *n) | |
~Automata () | |
void | display (ostream &o) |
Public Attributes | |
State * | si |
int | cvalue |
int | nvars |
vector< int > | a |
int | eqSize |
Definition at line 59 of file automata.h.
Automata::Automata | ( | Condition * | n, | |
std::map< int, int > * | numvars | |||
) |
A constructor that put the equation under the form : N = cvalue (from N = a) OR N -aM = cvalue (from N = aM + b) OR N - M - P = 0 = cvalue (from N = M + P) OR N - M = 0 = cvalue (from N = M) and build the associated Automata
We're now in the middle of the constructor : in a[] the coefficients of the NumVars, in cvalue the result (right part of the equation), in numvars[] the map between a NumericalVar* and its integer indice, in numvars->size() the size of the bits[] table of the Transitions.
Definition at line 69 of file automata.cpp.
References a, State::addTransition(), cvalue, Transition::display(), State::display(), NumericalVar::id, mycout, Condition::n1, nvars, si, and State::value.
Automata::Automata | ( | Condition * | n | ) |
Definition at line 257 of file automata.cpp.
Automata::~Automata | ( | ) |
Definition at line 260 of file automata.cpp.
bool Automata::isIntersect | ( | Automata * | au, | |
int | size | |||
) |
void Automata::display | ( | ostream & | o | ) |
Definition at line 263 of file automata.cpp.
References cvalue, State::display(), mycout, and si.
Referenced by Unification::verifValidPresburger().
int Automata::cvalue |
int Automata::nvars |
vector<int> Automata::a |
int Automata::eqSize |
Definition at line 66 of file automata.h.