spot/src/tgba/bddfactory.cc
Alexandre Duret-Lutz c03934140f Initial code for TGBA (Transition Generalized Büchi Automata).
Contains tgba_bdd, a BDD-encoded TGBA, and ltl_to_tgba,
a LTL-to-TGBA translator using Couvreur's algorithm.

* src/Makefile.am (SUBDIRS): Add tgba.
(libspot_la_LIBADD): Add tgba/libtgba.la.
* src/tgba/Makefile.am, src/tgba/bddfactory.cc,
src/tgba/bddfactory.hh, src/tgba/dictunion.cc,
src/tgba/dictunion.hh, src/tgba/ltl2tgba.cc, src/tgba/ltl2tgba.hh,
src/tgba/state.hh, src/tgba/statebdd.cc, src/tgba/statebdd.hh,
src/tgba/succiter.hh, src/tgba/succiterconcrete.cc,
src/tgba/succiterconcrete.hh, src/tgba/succlist.hh,
src/tgba/tgba.hh, src/tgba/tgbabddconcrete.cc,
src/tgba/tgbabddconcrete.hh, src/tgba/tgbabddconcretefactory.cc,
src/tgba/tgbabddconcretefactory.hh,
src/tgba/tgbabddconcreteproduct.cc,
src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbabddcoredata.cc,
src/tgba/tgbabddcoredata.hh, src/tgba/tgbabdddict.cc,
src/tgba/tgbabdddict.hh, src/tgba/tgbabddfactory.hh,
src/tgba/tgbabddtranslatefactory.cc,
src/tgba/tgbabddtranslatefactory.hh: New files.
2003-05-26 11:17:40 +00:00

48 lines
717 B
C++

#include "bddfactory.hh"
namespace spot
{
bdd_factory::bdd_factory()
: varused(0)
{
initialize();
}
int
bdd_factory::create_node()
{
return create_nodes(1);
}
int
bdd_factory::create_pair()
{
return create_nodes(2);
}
int
bdd_factory::create_nodes(int i)
{
int res = varused;
varused += i;
if (varnum < varused)
{
bdd_extvarnum(varused - varnum);
varnum = varused;
}
return res;
}
void
bdd_factory::initialize()
{
if (initialized)
return;
initialized = true;
bdd_init(50000, 5000);
bdd_setvarnum(varnum);
}
bool bdd_factory::initialized = false;
int bdd_factory::varnum = 2;
}