* src/tgba/tgbaproduct.cc: Fix computation of common acceptance
conditions.
This commit is contained in:
parent
c412cd4cc3
commit
8cbec95253
2 changed files with 23 additions and 7 deletions
12
ChangeLog
12
ChangeLog
|
|
@ -1,5 +1,17 @@
|
|||
2006-07-19 Alexandre Duret-Lutz <adl@src.lip6.fr>
|
||||
|
||||
* src/tgba/tgbaproduct.cc: Fix computation of common acceptance
|
||||
conditions.
|
||||
|
||||
* src/tgba/bdddict.cc, src/tgba/bdddict.cc (register_clone_acc):
|
||||
New function.
|
||||
* src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh: Use it to
|
||||
distinguish acceptance conditions that are identical in both
|
||||
operands.
|
||||
|
||||
* src/tgbatest/explpro4.test: New file.
|
||||
* src/tgbatest/explpro2.test, src/tgbatest/Makefile.am: Adjust.
|
||||
|
||||
* src/tgbaalgos/ltl2tgba_fm.cc (language_containment_checker): Move ...
|
||||
* src/ltlvisit/contain.cc, src/ltlvisit/contain.hh
|
||||
(spot::ltl::language_containment_checker): ... in these new files.
|
||||
|
|
|
|||
|
|
@ -182,14 +182,18 @@ namespace spot
|
|||
bdd rna = right_->neg_acceptance_conditions();
|
||||
|
||||
right_common_acc_ = bdd_newpair();
|
||||
bdd common = bdd_exist(lna, bdd_exist(lna, rna));
|
||||
while (common != bddtrue)
|
||||
|
||||
bdd tmp = lna;
|
||||
while (tmp != bddtrue)
|
||||
{
|
||||
assert(bdd_high(tmp) == bddfalse);
|
||||
int var = bdd_var(tmp);
|
||||
if ((bdd_nithvar(var) & rna) == rna)
|
||||
{
|
||||
assert(bdd_high(common) == bddfalse);
|
||||
int var = bdd_var(common);
|
||||
int varclone = dict_->register_clone_acc(var, this);
|
||||
bdd_setpair(right_common_acc_, var, varclone);
|
||||
common = bdd_low(common);
|
||||
}
|
||||
tmp = bdd_low(tmp);
|
||||
}
|
||||
|
||||
bdd lac = left_->all_acceptance_conditions();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue