assertion for made_progressive

This commit is contained in:
Artur Meski
2018-10-20 21:26:40 +01:00
parent 5a728f96ac
commit 75007f04dd
2 changed files with 7 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ CtxAut::CtxAut(Options *opts, RctSys *parent_rctsys)
{ {
setOptions(opts); setOptions(opts);
this->parent_rctsys = parent_rctsys; this->parent_rctsys = parent_rctsys;
made_progressive = false;
} }
bool CtxAut::hasState(std::string name) bool CtxAut::hasState(std::string name)
@@ -129,6 +130,9 @@ void CtxAut::showTransitions(void)
void CtxAut::makeProgressive(void) void CtxAut::makeProgressive(void)
{ {
VERB_LN(2, "Calculating progressive closure of CA");
assert(!made_progressive);
std::string special_loc = "T"; std::string special_loc = "T";
while (hasState(special_loc)) while (hasState(special_loc))
{ {
@@ -162,6 +166,8 @@ void CtxAut::makeProgressive(void)
addTransition(s, special_loc, state_constr); addTransition(s, special_loc, state_constr);
} }
made_progressive = true;
} }
/** EOF **/ /** EOF **/

View File

@@ -62,6 +62,7 @@ class CtxAut
EntitiesForProc tmpProcEntities; EntitiesForProc tmpProcEntities;
Entities tmpEntities; Entities tmpEntities;
CtxAutTransitions transitions; CtxAutTransitions transitions;
bool made_progressive;
}; };
#endif /* RS_CTX_AUT_HH */ #endif /* RS_CTX_AUT_HH */