autfilt: add a --exclusive-ap option

* src/ltlvisit/exclusive.cc, src/ltlvisit/exclusive.hh: Implement
constrain() for automata.
* src/bin/autfilt.cc: Add --exclusive-ap option.
* src/tgba/bdddict.cc, src/tgba/bdddict.hh: Add a
has_registered_proposition() method.
* src/tgbatest/exclusive.test: New file.
* src/tgbatest/Makefile.am: Add it.
This commit is contained in:
Alexandre Duret-Lutz 2015-03-23 18:14:46 +01:00
parent 544c533ed3
commit fb7b7a944a
7 changed files with 216 additions and 8 deletions

View file

@ -1,6 +1,6 @@
// -*- coding: utf-8 -*-
// Copyright (C) 2009, 2012, 2013, 2014 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
// Copyright (C) 2009, 2012, 2013, 2014, 2015 Laboratoire de Recherche
// et Développement de l'Epita (LRDE).
// Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de
// Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
// Université Pierre et Marie Curie.
@ -118,6 +118,20 @@ namespace spot
return num;
}
int
bdd_dict::has_registered_proposition(const ltl::formula* f,
const void* me)
{
auto ssi = var_map.find(f);
if (ssi == var_map.end())
return -1;
int num = ssi->second;
auto& r = bdd_map[num].refs;
if (r.find(me) == r.end())
return -1;
return num;
}
void
bdd_dict::register_propositions(bdd f, const void* for_me)
{