* iface/gspn/gspn.cc (EVENT_TRUE): Override temporarily..
(tgba_gspn::succ_iter): Fix usage of cube.
This commit is contained in:
parent
4ac192ac1e
commit
f63c67b507
2 changed files with 17 additions and 4 deletions
|
|
@ -1,3 +1,8 @@
|
||||||
|
2003-07-17 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||||||
|
|
||||||
|
* iface/gspn/gspn.cc (EVENT_TRUE): Override temporarily..
|
||||||
|
(tgba_gspn::succ_iter): Fix usage of cube.
|
||||||
|
|
||||||
2003-07-16 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
2003-07-16 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||||||
|
|
||||||
* m4/gspnlib.m4: New file.
|
* m4/gspnlib.m4: New file.
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,11 @@
|
||||||
#include "gspn.hh"
|
#include "gspn.hh"
|
||||||
#include "ltlvisit/destroy.hh"
|
#include "ltlvisit/destroy.hh"
|
||||||
|
|
||||||
|
// FIXME: Override signed definition of EVENT_TRUE until this is fixed
|
||||||
|
// in gspnlib.h.
|
||||||
|
#undef EVENT_TRUE
|
||||||
|
#define EVENT_TRUE 0U
|
||||||
|
|
||||||
namespace spot
|
namespace spot
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -304,15 +309,18 @@ namespace spot
|
||||||
|
|
||||||
// Build the BDD of the conditions available on this state.
|
// Build the BDD of the conditions available on this state.
|
||||||
unsigned char* cube = 0;
|
unsigned char* cube = 0;
|
||||||
int res = satisfy(s->get_state(),
|
// This is temporary. We ought to ask only what we need.
|
||||||
data_->all_indexes, &cube, data_->index_count);
|
AtomicProp* want = data_->all_indexes;
|
||||||
|
size_t count = data_->index_count;
|
||||||
|
int res = satisfy(s->get_state(), want, &cube, count);
|
||||||
if (res)
|
if (res)
|
||||||
throw gspn_exeption("satisfy()", res);
|
throw gspn_exeption("satisfy()", res);
|
||||||
assert(cube);
|
assert(cube);
|
||||||
bdd state_conds = bddtrue;
|
bdd state_conds = bddtrue;
|
||||||
for (size_t i = 0; i < data_->index_count; ++i)
|
for (size_t i = 0; i < count; ++i)
|
||||||
{
|
{
|
||||||
state_conds &= data_->index_to_bdd(cube[i]);
|
bdd v = data_->index_to_bdd(want[i]);
|
||||||
|
state_conds &= cube[i] ? v : !v;
|
||||||
}
|
}
|
||||||
satisfy_free(cube);
|
satisfy_free(cube);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue