improve data storage in SAT-minimization
Right now we use for instance typedef std::map<transition, int> trans_map;
where transition is a triple unsigned, bdd, unsigned
.
We also have several loops of the form
bdd all = bddtrue;
while (all != bddfalse)
{
bdd one = bdd_satoneset(all, ap, bddfalse);
all -= one;
...
to iterate on all possible letters.
It would (probably) be more efficient to precompute all 2^AP letters once for all, store them in a vector, and iterate using indices in that vector instead of using bdd_satoneset
. This would also allow storing transisitions as triples of the form unsigned, unsigned, unsigned
and therefore store the trans_map
as a 3-dimensional array instead of a map.