buddy: rename libbdd to libbddx
* buddy/src/bdd.h, buddy/src/bvec.h, buddy/src/fdd.h: Rename as... * buddy/src/bddx.h, buddy/src/bvecx.h, buddy/src/fddx.h: ... these. * buddy/src/Makefile.am: Build libbddx.la instead of libbdd.la. * buddy/examples/Makefile.def: Use it. * Makefile.am, buddy/src/bddtest.cxx, buddy/src/bvec.c, buddy/src/cppext.cxx, buddy/src/fdd.c, buddy/src/imatrix.h, buddy/src/kernel.h, buddy/examples/adder/adder.cxx, buddy/examples/bddcalc/parser_.h, buddy/examples/bddtest/bddtest.cxx, buddy/examples/cmilner/cmilner.c, buddy/examples/fdd/fdd.cxx, buddy/examples/milner/milner.cxx, buddy/examples/money/money.cxx, buddy/examples/queen/queen.cxx, buddy/examples/solitare/solitare.cxx, m4/buddy.m4, src/ltlvisit/apcollect.hh, src/ltlvisit/simplify.hh, src/misc/bddlt.hh, src/misc/bddop.hh, src/misc/minato.hh, src/priv/acccompl.hh, src/priv/accconv.hh, src/priv/accmap.hh, src/priv/bddalloc.cc, src/tgba/bdddict.hh, src/tgba/bddprint.hh, src/tgba/tgbamask.hh, src/tgba/tgbasafracomplement.cc, src/tgbaalgos/emptiness.hh, src/tgbaalgos/gtec/sccstack.hh, src/tgbaalgos/neverclaim.cc, src/tgbaalgos/powerset.cc, src/tgbaalgos/sccfilter.hh, src/tgbaalgos/sccinfo.hh, src/tgbaalgos/weight.hh, wrap/python/buddy.i: Adjust. * NEWS, README: Document it.
This commit is contained in:
parent
f35be908c8
commit
ad8d24222a
45 changed files with 253 additions and 291 deletions
|
|
@ -1,7 +1,7 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
#include "bdd.h"
|
||||
#include "bddx.h"
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
|
||||
|
|
@ -17,11 +17,11 @@ bdd A(bdd* x, bdd* y, int z)
|
|||
{
|
||||
bdd res = bddtrue;
|
||||
int i;
|
||||
|
||||
|
||||
for(i=0 ; i<N ; i++)
|
||||
if(i != z)
|
||||
res &= bdd_apply(x[i],y[i],bddop_biimp);
|
||||
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
|
@ -35,19 +35,19 @@ bdd transitions(bdd* t, bdd* tp, bdd* h, bdd* hp, bdd* c, bdd* cp)
|
|||
bdd P; // Cycler i's handling of the token
|
||||
bdd E; // Cycler i's handling of it's task
|
||||
bdd T = bddfalse; // The monolithic transition relation
|
||||
|
||||
|
||||
for(i=0 ; i<N ; i++)
|
||||
{
|
||||
P = ((c[i]>cp[i]) & (tp[i]>t[i]) & hp[i] & A(c,cp,i)
|
||||
& A(t,tp,i) & A(h,hp,i))
|
||||
| ((h[i]>hp[i]) & cp[(i+1)%N] & A(c,cp,(i+1)%N) & A(h,hp,i)
|
||||
& A(t,tp,N));
|
||||
|
||||
|
||||
E = t[i] & !tp[i] & A(t,tp,i) & A(h,hp,N) & A(c,cp,N);
|
||||
|
||||
|
||||
T |= P | E;
|
||||
}
|
||||
|
||||
|
||||
return T;
|
||||
}
|
||||
|
||||
|
|
@ -58,10 +58,10 @@ bdd initial_state(bdd* t, bdd* h, bdd* c)
|
|||
{
|
||||
int i;
|
||||
bdd I = c[0] & !h[0] & !t[0];
|
||||
|
||||
|
||||
for(i=1; i<N; i++)
|
||||
I &= !c[i] & !h[i] & !t[i];
|
||||
|
||||
|
||||
return I;
|
||||
}
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ bdd reachable_states(bdd I, bdd T)
|
|||
R |= tmp;
|
||||
}
|
||||
while(prevR != R);
|
||||
|
||||
|
||||
return R;
|
||||
}
|
||||
|
||||
|
|
@ -105,38 +105,38 @@ int main(int argc, char** argv)
|
|||
cerr << " N number of cyclers\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
N = atoi(argv[1]);
|
||||
if (N <= 0)
|
||||
{
|
||||
cerr << "The number of cyclers must be more than zero\n";
|
||||
exit(2);
|
||||
}
|
||||
|
||||
|
||||
bdd_init(500000, 50000);
|
||||
bdd_setvarnum(N*6);
|
||||
|
||||
|
||||
bdd* c = new bdd[N];
|
||||
bdd* cp = new bdd[N];
|
||||
bdd* t = new bdd[N];
|
||||
bdd* tp = new bdd[N];
|
||||
bdd* h = new bdd[N];
|
||||
bdd* hp = new bdd[N];
|
||||
|
||||
|
||||
int *nvar = new int[N*3];
|
||||
int *pvar = new int[N*3];
|
||||
|
||||
|
||||
for (n=0 ; n<N*3 ; n++)
|
||||
{
|
||||
nvar[n] = n*2;
|
||||
pvar[n] = n*2+1;
|
||||
}
|
||||
|
||||
|
||||
normvar = bdd_makeset(nvar, N*3);
|
||||
primvar = bdd_makeset(pvar, N*3);
|
||||
renamepair = bdd_newpair();
|
||||
bdd_setpairs(renamepair, pvar, nvar, N*3);
|
||||
|
||||
|
||||
for (n=0 ; n<N ; n++)
|
||||
{
|
||||
c[n] = bdd_ithvar(n*6);
|
||||
|
|
@ -161,7 +161,7 @@ int main(int argc, char** argv)
|
|||
bdd I = initial_state(t,h,c);
|
||||
bdd T = transitions(t,tp,h,hp,c,cp);
|
||||
bdd R = reachable_states(I,T);
|
||||
|
||||
|
||||
bddStat s;
|
||||
bdd_stats(&s);
|
||||
|
||||
|
|
@ -176,4 +176,3 @@ int main(int argc, char** argv)
|
|||
bdd_done();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue