* src/ltlvisit/reducform.cc, src/tgba/tgbareduc.cc,
src/tgbaalgos/reductgba_sim.cc, src/tgbaalgos/reductgba_sim.hh src/tgbaalgos/reductgba_sim_del.cc, src/tgbatest/reduccmp.test, src/tgbatest/reductgba.cc: 80 columns and style.
This commit is contained in:
parent
f61b69ef3d
commit
2f1a67d927
8 changed files with 84 additions and 86 deletions
|
|
@ -1,3 +1,10 @@
|
||||||
|
2004-06-22 Thomas Martinez <martinez@src.lip6.fr>
|
||||||
|
|
||||||
|
* src/ltlvisit/reducform.cc, src/tgba/tgbareduc.cc,
|
||||||
|
src/tgbaalgos/reductgba_sim.cc, src/tgbaalgos/reductgba_sim.hh
|
||||||
|
src/tgbaalgos/reductgba_sim_del.cc, src/tgbatest/reduccmp.test,
|
||||||
|
src/tgbatest/reductgba.cc: 80 columns and style.
|
||||||
|
|
||||||
2004-06-22 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
2004-06-22 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||||||
|
|
||||||
* src/sanity/style.test: Typo.
|
* src/sanity/style.test: Typo.
|
||||||
|
|
|
||||||
|
|
@ -202,7 +202,7 @@ namespace spot
|
||||||
if (opt_ & Reduce_Syntactic_Implications)
|
if (opt_ & Reduce_Syntactic_Implications)
|
||||||
{
|
{
|
||||||
|
|
||||||
bool removed = true;;
|
bool removed = true;
|
||||||
multop::vec::iterator f1;
|
multop::vec::iterator f1;
|
||||||
multop::vec::iterator f2;
|
multop::vec::iterator f2;
|
||||||
|
|
||||||
|
|
@ -229,7 +229,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
else if ((syntactic_implication(*f2, *f1) && // f2 < f1
|
else if ((syntactic_implication(*f2, *f1) && // f2 < f1
|
||||||
(mo->op() == multop::Or)) ||
|
(mo->op() == multop::Or)) ||
|
||||||
((syntactic_implication(*f1,* f2)) && // f1 < f2
|
((syntactic_implication(*f1, *f2)) && // f1 < f2
|
||||||
(mo->op() == multop::And)))
|
(mo->op() == multop::And)))
|
||||||
{
|
{
|
||||||
// We keep f1
|
// We keep f1
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ namespace spot
|
||||||
run();
|
run();
|
||||||
all_acceptance_conditions_ = a->all_acceptance_conditions();
|
all_acceptance_conditions_ = a->all_acceptance_conditions();
|
||||||
all_acceptance_conditions_computed_ = true;
|
all_acceptance_conditions_computed_ = true;
|
||||||
seen_ = NULL;
|
seen_ = 0;
|
||||||
scc_computed_ = false;
|
scc_computed_ = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -355,7 +355,7 @@ namespace spot
|
||||||
if ((*j)->dest == st)
|
if ((*j)->dest == st)
|
||||||
{
|
{
|
||||||
// Remove the transition
|
// Remove the transition
|
||||||
delete(*j);
|
delete *j;
|
||||||
j = (*p)->erase(j);
|
j = (*p)->erase(j);
|
||||||
++j;
|
++j;
|
||||||
}
|
}
|
||||||
|
|
@ -623,10 +623,10 @@ namespace spot
|
||||||
{
|
{
|
||||||
acc_ = bddfalse;
|
acc_ = bddfalse;
|
||||||
b = true;
|
b = true;
|
||||||
assert(seen_ == NULL);
|
assert(seen_ == 0);
|
||||||
seen_ = new seen_map();
|
seen_ = new seen_map();
|
||||||
i = si_.find(s);
|
i = si_.find(s);
|
||||||
assert(i->first != NULL);
|
assert(i->first != 0);
|
||||||
n = i->second;
|
n = i->second;
|
||||||
}
|
}
|
||||||
///////////////////////////////
|
///////////////////////////////
|
||||||
|
|
@ -685,8 +685,8 @@ namespace spot
|
||||||
seen_->clear();
|
seen_->clear();
|
||||||
std::cout << "delete seen_" << std::endl;
|
std::cout << "delete seen_" << std::endl;
|
||||||
delete seen_;
|
delete seen_;
|
||||||
std::cout << "seen_ = NULL" << std::endl;
|
std::cout << "seen_ = 0" << std::endl;
|
||||||
seen_ = NULL;
|
seen_ = 0;
|
||||||
std::cout << "acc_ == this->all_acceptance_conditions()" << std::endl;
|
std::cout << "acc_ == this->all_acceptance_conditions()" << std::endl;
|
||||||
if (acc_ == this->all_acceptance_conditions())
|
if (acc_ == this->all_acceptance_conditions())
|
||||||
ret = false;
|
ret = false;
|
||||||
|
|
@ -724,8 +724,8 @@ namespace spot
|
||||||
{
|
{
|
||||||
if (n == -1)
|
if (n == -1)
|
||||||
{
|
{
|
||||||
assert(seen_ == NULL);
|
assert(seen_ == 0);
|
||||||
seen_ = new seen_map();;
|
seen_ = new seen_map();
|
||||||
}
|
}
|
||||||
|
|
||||||
seen_map::const_iterator sm = seen_->find(s);
|
seen_map::const_iterator sm = seen_->find(s);
|
||||||
|
|
@ -744,7 +744,7 @@ namespace spot
|
||||||
if (n == -1)
|
if (n == -1)
|
||||||
{
|
{
|
||||||
delete seen_;
|
delete seen_;
|
||||||
seen_ = NULL;
|
seen_ = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -764,10 +764,10 @@ namespace spot
|
||||||
{
|
{
|
||||||
acc_ == bddfalse;
|
acc_ == bddfalse;
|
||||||
b = true;
|
b = true;
|
||||||
assert(seen_ == NULL);
|
assert(seen_ == 0);
|
||||||
seen_ = new seen_map();
|
seen_ = new seen_map();
|
||||||
i = si_.find(s);
|
i = si_.find(s);
|
||||||
assert(i->first != NULL);
|
assert(i->first != 0);
|
||||||
n = i->second;
|
n = i->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -796,7 +796,7 @@ namespace spot
|
||||||
if (b)
|
if (b)
|
||||||
{
|
{
|
||||||
delete seen_;
|
delete seen_;
|
||||||
seen_ = NULL;
|
seen_ = 0;
|
||||||
if (acc_ == this->all_acceptance_conditions())
|
if (acc_ == this->all_acceptance_conditions())
|
||||||
ret = false;
|
ret = false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -54,23 +54,11 @@ namespace spot
|
||||||
bool exist = false;
|
bool exist = false;
|
||||||
for (sn_v::iterator i = lnode_succ->begin();
|
for (sn_v::iterator i = lnode_succ->begin();
|
||||||
i != lnode_succ->end(); ++i)
|
i != lnode_succ->end(); ++i)
|
||||||
// Be careful, we have to compare two duplicator node
|
if ((*i)->compare(n) == true)
|
||||||
if (*i == n)
|
|
||||||
exist = true;
|
exist = true;
|
||||||
if (exist)
|
if (exist)
|
||||||
return false;
|
return false;
|
||||||
// TO TEST FOR THE DIRECT SIMULATION //
|
|
||||||
/*
|
|
||||||
bool exist = false;
|
|
||||||
for (sn_v::iterator i = lnode_succ->begin();
|
|
||||||
i != lnode_succ->end(); ++i)
|
|
||||||
// Be careful, we have to compare two duplicator node
|
|
||||||
if (dynamic_cast<duplicator_node*>(*i)->compare(n) == 0)
|
|
||||||
exist = true;
|
|
||||||
if (exist)
|
|
||||||
return false;
|
|
||||||
*/
|
|
||||||
///////////////
|
|
||||||
lnode_succ->push_back(n);
|
lnode_succ->push_back(n);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -93,14 +81,12 @@ namespace spot
|
||||||
void
|
void
|
||||||
spoiler_node::add_pred(spoiler_node* n)
|
spoiler_node::add_pred(spoiler_node* n)
|
||||||
{
|
{
|
||||||
// TO TEST FOR THE DIRECT SIMULATION //
|
|
||||||
bool exist = false;
|
bool exist = false;
|
||||||
for (sn_v::iterator i = lnode_pred->begin();
|
for (sn_v::iterator i = lnode_pred->begin();
|
||||||
i != lnode_pred->end(); ++i)
|
i != lnode_pred->end(); ++i)
|
||||||
if ((*i)->compare(n) == 0)
|
if ((*i)->compare(n) == 0)
|
||||||
exist = true;
|
exist = true;
|
||||||
if (!exist)
|
if (!exist)
|
||||||
///////////////
|
|
||||||
lnode_pred->push_back(n);
|
lnode_pred->push_back(n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -121,7 +107,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
not_win |= (*i)->not_win;
|
not_win |= (*i)->not_win;
|
||||||
}
|
}
|
||||||
return (change != not_win);
|
return change != not_win;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string
|
std::string
|
||||||
|
|
@ -218,7 +204,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (change != not_win);
|
return change != not_win;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string
|
std::string
|
||||||
|
|
@ -407,12 +393,12 @@ namespace spot
|
||||||
void
|
void
|
||||||
parity_game_graph_direct::build_couple()
|
parity_game_graph_direct::build_couple()
|
||||||
{
|
{
|
||||||
tgba_succ_iterator* si = NULL;
|
tgba_succ_iterator* si = 0;
|
||||||
typedef Sgi::pair<bdd, bdd> couple_bdd;
|
typedef Sgi::pair<bdd, bdd> couple_bdd;
|
||||||
couple_bdd *p = NULL;
|
couple_bdd *p = 0;
|
||||||
Sgi::vector<couple_bdd*>* trans = NULL;
|
Sgi::vector<couple_bdd*>* trans = 0;
|
||||||
bool exist = false;
|
bool exist = false;
|
||||||
spot::state* s = NULL;
|
spot::state* s = 0;
|
||||||
|
|
||||||
for (Sgi::vector<const state*>::iterator i = tgba_state_.begin();
|
for (Sgi::vector<const state*>::iterator i = tgba_state_.begin();
|
||||||
i != tgba_state_.end(); ++i)
|
i != tgba_state_.end(); ++i)
|
||||||
|
|
@ -469,11 +455,13 @@ namespace spot
|
||||||
s != tgba_state_.end(); ++s)
|
s != tgba_state_.end(); ++s)
|
||||||
{
|
{
|
||||||
duplicator_node* n2
|
duplicator_node* n2
|
||||||
= new duplicator_node(*i,
|
= new
|
||||||
*s,
|
duplicator_node(*i,
|
||||||
si->current_condition(),
|
*s,
|
||||||
si->current_acceptance_conditions(),
|
si->current_condition(),
|
||||||
nb_node_parity_game++);
|
si
|
||||||
|
->current_acceptance_conditions(),
|
||||||
|
nb_node_parity_game++);
|
||||||
duplicator_vertice_.push_back(n2);
|
duplicator_vertice_.push_back(n2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -498,7 +486,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
int nb_ds = 0;
|
int nb_ds = 0;
|
||||||
int nb_sd = 0;
|
int nb_sd = 0;
|
||||||
spot::state* s = NULL;
|
spot::state* s = 0;
|
||||||
|
|
||||||
// for each couple of (spoiler, duplicator)
|
// for each couple of (spoiler, duplicator)
|
||||||
for (Sgi::vector<spoiler_node*>::iterator i
|
for (Sgi::vector<spoiler_node*>::iterator i
|
||||||
|
|
@ -509,7 +497,8 @@ namespace spot
|
||||||
j != duplicator_vertice_.end(); ++j)
|
j != duplicator_vertice_.end(); ++j)
|
||||||
{
|
{
|
||||||
// We add a link between a duplicator and a spoiler.
|
// We add a link between a duplicator and a spoiler.
|
||||||
if ((*j)->get_spoiler_node()->compare((*i)->get_spoiler_node()) == 0)
|
if ((*j)->get_spoiler_node()
|
||||||
|
->compare((*i)->get_spoiler_node()) == 0)
|
||||||
{
|
{
|
||||||
tgba_succ_iterator* si
|
tgba_succ_iterator* si
|
||||||
= automata_->succ_iter((*j)->get_duplicator_node());
|
= automata_->succ_iter((*j)->get_duplicator_node());
|
||||||
|
|
@ -529,7 +518,8 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
// We add a link between a spoiler and a duplicator.
|
// We add a link between a spoiler and a duplicator.
|
||||||
if ((*j)->get_duplicator_node()->compare((*i)->get_duplicator_node()) == 0)
|
if ((*j)->get_duplicator_node()
|
||||||
|
->compare((*i)->get_duplicator_node()) == 0)
|
||||||
{
|
{
|
||||||
tgba_succ_iterator* si
|
tgba_succ_iterator* si
|
||||||
= automata_->succ_iter((*i)->get_spoiler_node());
|
= automata_->succ_iter((*i)->get_spoiler_node());
|
||||||
|
|
@ -579,7 +569,7 @@ namespace spot
|
||||||
parity_game_graph_direct::get_relation()
|
parity_game_graph_direct::get_relation()
|
||||||
{
|
{
|
||||||
simulation_relation* rel = new simulation_relation();
|
simulation_relation* rel = new simulation_relation();
|
||||||
state_couple* p = NULL;
|
state_couple* p = 0;
|
||||||
seen_map::iterator j;
|
seen_map::iterator j;
|
||||||
|
|
||||||
for (Sgi::vector<spoiler_node*>::iterator i
|
for (Sgi::vector<spoiler_node*>::iterator i
|
||||||
|
|
@ -638,7 +628,7 @@ namespace spot
|
||||||
void
|
void
|
||||||
free_relation_simulation(simulation_relation* rel)
|
free_relation_simulation(simulation_relation* rel)
|
||||||
{
|
{
|
||||||
if (rel == NULL)
|
if (rel == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Sgi::hash_map<const spot::state*, int,
|
Sgi::hash_map<const spot::state*, int,
|
||||||
|
|
@ -658,13 +648,13 @@ namespace spot
|
||||||
delete *i;
|
delete *i;
|
||||||
}
|
}
|
||||||
delete rel;
|
delete rel;
|
||||||
rel = NULL;
|
rel = 0;
|
||||||
|
|
||||||
for (j = seen.begin(); j != seen.end();)
|
for (j = seen.begin(); j != seen.end();)
|
||||||
{
|
{
|
||||||
const state* ptr = j->first;
|
const state* ptr = j->first;
|
||||||
++j;
|
++j;
|
||||||
delete(ptr);
|
delete ptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ namespace spot
|
||||||
/// Compute a delayed simulation relation on state of tgba \a f.
|
/// Compute a delayed simulation relation on state of tgba \a f.
|
||||||
/// FIXME : this method is incorrect !!
|
/// FIXME : this method is incorrect !!
|
||||||
/// Don't use it !!
|
/// Don't use it !!
|
||||||
simulation_relation* get_delayed_relation_simulation(const tgba* a,
|
simulation_relation* get_delayed_relation_simulation(const tgba* a,
|
||||||
int opt = -1);
|
int opt = -1);
|
||||||
|
|
||||||
/// To free a simulation relation.
|
/// To free a simulation relation.
|
||||||
|
|
|
||||||
|
|
@ -331,12 +331,12 @@ namespace spot
|
||||||
nb_spoiler = 0;
|
nb_spoiler = 0;
|
||||||
nb_duplicator = 0;
|
nb_duplicator = 0;
|
||||||
|
|
||||||
tgba_succ_iterator* si = NULL;
|
tgba_succ_iterator* si = 0;
|
||||||
typedef Sgi::pair<bdd, bdd> couple_bdd;
|
typedef Sgi::pair<bdd, bdd> couple_bdd;
|
||||||
couple_bdd *p = NULL;
|
couple_bdd *p = 0;
|
||||||
Sgi::vector<couple_bdd*>* trans = NULL;
|
Sgi::vector<couple_bdd*>* trans = 0;
|
||||||
bool exist = false;
|
bool exist = false;
|
||||||
spot::state* s = NULL;
|
spot::state* s = 0;
|
||||||
|
|
||||||
s_v::iterator i;
|
s_v::iterator i;
|
||||||
for (i = tgba_state_.begin(); i != tgba_state_.end(); ++i)
|
for (i = tgba_state_.begin(); i != tgba_state_.end(); ++i)
|
||||||
|
|
@ -448,7 +448,7 @@ namespace spot
|
||||||
//std::cout << "build link" << std::endl;
|
//std::cout << "build link" << std::endl;
|
||||||
int nb_ds = 0;
|
int nb_ds = 0;
|
||||||
int nb_sd = 0;
|
int nb_sd = 0;
|
||||||
spot::state* s = NULL;
|
spot::state* s = 0;
|
||||||
|
|
||||||
// for each couple of (spoiler, duplicator)
|
// for each couple of (spoiler, duplicator)
|
||||||
sn_v::iterator i;
|
sn_v::iterator i;
|
||||||
|
|
@ -557,7 +557,7 @@ namespace spot
|
||||||
// We create when it's possible a duplicator node
|
// We create when it's possible a duplicator node
|
||||||
// and recursively his successor.
|
// and recursively his successor.
|
||||||
|
|
||||||
//spot::state* s1 = NULL;
|
//spot::state* s1 = 0;
|
||||||
//bool exist_pred = false;
|
//bool exist_pred = false;
|
||||||
|
|
||||||
sn_v::iterator i1;
|
sn_v::iterator i1;
|
||||||
|
|
@ -574,7 +574,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
tgba_succ_iterator* si;
|
tgba_succ_iterator* si;
|
||||||
s_v::iterator i2;
|
s_v::iterator i2;
|
||||||
spot::state* s2 = NULL;
|
spot::state* s2 = 0;
|
||||||
for (i2 = tgba_state_.begin();
|
for (i2 = tgba_state_.begin();
|
||||||
i2 != tgba_state_.end(); ++i2)
|
i2 != tgba_state_.end(); ++i2)
|
||||||
{
|
{
|
||||||
|
|
@ -634,10 +634,10 @@ namespace spot
|
||||||
btmp,
|
btmp,
|
||||||
nb_node_parity_game++);
|
nb_node_parity_game++);
|
||||||
|
|
||||||
// dn is already a successor of sn.
|
|
||||||
std::cout << "spoiler call add_succ" << std::endl;
|
std::cout << "spoiler call add_succ" << std::endl;
|
||||||
if (!(sn->add_succ(dn)))
|
if (!(sn->add_succ(dn)))
|
||||||
{
|
{
|
||||||
|
// dn is already a successor of sn.
|
||||||
std::cout << "dn is already a successor of sn."
|
std::cout << "dn is already a successor of sn."
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -645,12 +645,6 @@ namespace spot
|
||||||
std::cout << "dn is a new successor of sn." << std::endl;
|
std::cout << "dn is a new successor of sn." << std::endl;
|
||||||
(dn)->add_pred(sn);
|
(dn)->add_pred(sn);
|
||||||
|
|
||||||
/* TEST
|
|
||||||
bdd btmp2 =
|
|
||||||
dynamic_cast<spoiler_node_delayed*>(sn)->
|
|
||||||
get_acceptance_condition_visited();
|
|
||||||
*/
|
|
||||||
|
|
||||||
build_recurse_successor_duplicator(dn, sn);
|
build_recurse_successor_duplicator(dn, sn);
|
||||||
}
|
}
|
||||||
delete s;
|
delete s;
|
||||||
|
|
@ -664,7 +658,7 @@ namespace spot
|
||||||
void
|
void
|
||||||
parity_game_graph_delayed::
|
parity_game_graph_delayed::
|
||||||
build_recurse_successor_duplicator(duplicator_node* dn,
|
build_recurse_successor_duplicator(duplicator_node* dn,
|
||||||
spoiler_node* sn)
|
spoiler_node*)
|
||||||
{
|
{
|
||||||
std::cout << "build_recurse_successor_duplicator" << std::endl;
|
std::cout << "build_recurse_successor_duplicator" << std::endl;
|
||||||
|
|
||||||
|
|
@ -675,9 +669,13 @@ namespace spot
|
||||||
{
|
{
|
||||||
std::cout << "transition " << i++ << std::endl;
|
std::cout << "transition " << i++ << std::endl;
|
||||||
|
|
||||||
|
/*
|
||||||
bdd btmp =
|
bdd btmp =
|
||||||
dynamic_cast<spoiler_node_delayed*>(sn)->
|
dynamic_cast<spoiler_node_delayed*>(sn)->
|
||||||
get_acceptance_condition_visited();
|
get_acceptance_condition_visited();
|
||||||
|
*/
|
||||||
|
|
||||||
|
bdd btmp = dn->get_acc();
|
||||||
bdd btmp2 = btmp - si->current_acceptance_conditions();
|
bdd btmp2 = btmp - si->current_acceptance_conditions();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -694,7 +692,7 @@ namespace spot
|
||||||
if (s->compare(*i1) == 0)
|
if (s->compare(*i1) == 0)
|
||||||
{
|
{
|
||||||
spoiler_node_delayed* sn_n
|
spoiler_node_delayed* sn_n
|
||||||
= add_spoiler_node_delayed(sn->get_spoiler_node(),
|
= add_spoiler_node_delayed(dn->get_spoiler_node(),
|
||||||
*i1,
|
*i1,
|
||||||
btmp2,
|
btmp2,
|
||||||
nb_node_parity_game++);
|
nb_node_parity_game++);
|
||||||
|
|
@ -737,7 +735,7 @@ namespace spot
|
||||||
= duplicator_vertice_.begin();
|
= duplicator_vertice_.begin();
|
||||||
i != duplicator_vertice_.end(); ++i)
|
i != duplicator_vertice_.end(); ++i)
|
||||||
{
|
{
|
||||||
std::cout << "COMPARE" << std::endl;
|
//std::cout << "COMPARE" << std::endl;
|
||||||
if (dn_n->compare(*i))
|
if (dn_n->compare(*i))
|
||||||
{
|
{
|
||||||
exist = true;
|
exist = true;
|
||||||
|
|
@ -768,7 +766,7 @@ namespace spot
|
||||||
= spoiler_vertice_.begin();
|
= spoiler_vertice_.begin();
|
||||||
i != spoiler_vertice_.end(); ++i)
|
i != spoiler_vertice_.end(); ++i)
|
||||||
{
|
{
|
||||||
std::cout << "COMPARE" << std::endl;
|
//std::cout << "COMPARE" << std::endl;
|
||||||
if (sn_n->compare(*i))
|
if (sn_n->compare(*i))
|
||||||
{
|
{
|
||||||
exist = true;
|
exist = true;
|
||||||
|
|
@ -873,7 +871,7 @@ namespace spot
|
||||||
parity_game_graph_delayed::get_relation()
|
parity_game_graph_delayed::get_relation()
|
||||||
{
|
{
|
||||||
simulation_relation* rel = new simulation_relation();
|
simulation_relation* rel = new simulation_relation();
|
||||||
state_couple* p = NULL;
|
state_couple* p = 0;
|
||||||
seen_map::iterator j;
|
seen_map::iterator j;
|
||||||
|
|
||||||
for (Sgi::vector<spoiler_node*>::iterator i
|
for (Sgi::vector<spoiler_node*>::iterator i
|
||||||
|
|
@ -922,7 +920,7 @@ namespace spot
|
||||||
this->build_link();
|
this->build_link();
|
||||||
std::cout << "prune" << std::endl;
|
std::cout << "prune" << std::endl;
|
||||||
this->prune();
|
this->prune();
|
||||||
std::cout << "lift" << std::endl;
|
std::cout << "lift : " << nb_spoiler_loose_ << std::endl;
|
||||||
this->lift();
|
this->lift();
|
||||||
std::cout << "END" << std::endl;
|
std::cout << "END" << std::endl;
|
||||||
//this->print(std::cout);
|
//this->print(std::cout);
|
||||||
|
|
@ -934,15 +932,18 @@ namespace spot
|
||||||
{
|
{
|
||||||
/// FIXME : this method is incorrect !!
|
/// FIXME : this method is incorrect !!
|
||||||
/// Don't use it !!
|
/// Don't use it !!
|
||||||
/*
|
parity_game_graph_delayed* G = new parity_game_graph_delayed(f);
|
||||||
parity_game_graph_delayed* G = new parity_game_graph_delayed(f);
|
simulation_relation* rel = G->get_relation();
|
||||||
simulation_relation* rel = G->get_relation();
|
if ((opt == 1) || (opt == -1))
|
||||||
if (opt == 1)
|
|
||||||
G->print(std::cout);
|
G->print(std::cout);
|
||||||
delete G;
|
delete G;
|
||||||
|
|
||||||
|
return rel;
|
||||||
|
|
||||||
|
/*
|
||||||
|
return get_direct_relation_simulation(f, opt);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
return get_direct_relation_simulation(f, opt);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,8 @@ digraph G {
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
rm input stdout expected
|
||||||
|
|
||||||
# FIXME
|
# FIXME
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
|
|
@ -50,5 +52,3 @@ exit 0
|
||||||
# (The order is not guaranteed by SPOT.)
|
# (The order is not guaranteed by SPOT.)
|
||||||
sed 's/!b & a/a \& !b/g' stdout > tmp_ && mv tmp_ stdout
|
sed 's/!b & a/a \& !b/g' stdout > tmp_ && mv tmp_ stdout
|
||||||
diff stdout expected
|
diff stdout expected
|
||||||
|
|
||||||
#rm input stdout expected
|
|
||||||
|
|
|
||||||
|
|
@ -85,9 +85,9 @@ main(int argc, char** argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
int exit_code = 0;
|
int exit_code = 0;
|
||||||
spot::simulation_relation* rel = NULL;
|
spot::simulation_relation* rel = 0;
|
||||||
spot::tgba* automata = NULL;
|
spot::tgba* automata = 0;
|
||||||
spot::tgba_reduc* automatareduc = NULL;
|
spot::tgba_reduc* automatareduc = 0;
|
||||||
|
|
||||||
spot::ltl::environment& env(spot::ltl::default_environment::instance());
|
spot::ltl::environment& env(spot::ltl::default_environment::instance());
|
||||||
spot::bdd_dict* dict = new spot::bdd_dict();
|
spot::bdd_dict* dict = new spot::bdd_dict();
|
||||||
|
|
@ -121,7 +121,7 @@ main(int argc, char** argv)
|
||||||
automatareduc->quotient_state(rel);
|
automatareduc->quotient_state(rel);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rel != NULL)
|
if (rel != 0)
|
||||||
{
|
{
|
||||||
automatareduc->display_rel_sim(rel, std::cout);
|
automatareduc->display_rel_sim(rel, std::cout);
|
||||||
spot::free_relation_simulation(rel);
|
spot::free_relation_simulation(rel);
|
||||||
|
|
@ -133,17 +133,17 @@ main(int argc, char** argv)
|
||||||
//automatareduc->display_scc(std::cout);
|
//automatareduc->display_scc(std::cout);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (automatareduc != NULL)
|
if (automatareduc != 0)
|
||||||
{
|
{
|
||||||
spot::dotty_reachable(std::cout, automatareduc);
|
spot::dotty_reachable(std::cout, automatareduc);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (automata != NULL)
|
if (automata != 0)
|
||||||
delete automata;
|
delete automata;
|
||||||
if (automatareduc != NULL)
|
if (automatareduc != 0)
|
||||||
delete automatareduc;
|
delete automatareduc;
|
||||||
#ifndef REDUCCMP
|
#ifndef REDUCCMP
|
||||||
if (f != NULL)
|
if (f != 0)
|
||||||
spot::ltl::destroy(f);
|
spot::ltl::destroy(f);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -152,7 +152,7 @@ main(int argc, char** argv)
|
||||||
assert(spot::ltl::binop::instance_count() == 0);
|
assert(spot::ltl::binop::instance_count() == 0);
|
||||||
assert(spot::ltl::multop::instance_count() == 0);
|
assert(spot::ltl::multop::instance_count() == 0);
|
||||||
|
|
||||||
if (dict != NULL)
|
if (dict != 0)
|
||||||
delete dict;
|
delete dict;
|
||||||
|
|
||||||
return exit_code;
|
return exit_code;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue