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:
Alexandre Duret-Lutz 2014-10-30 17:29:27 +01:00
parent f35be908c8
commit ad8d24222a
45 changed files with 253 additions and 291 deletions

View file

@ -1,2 +1,2 @@
AM_CPPFLAGS = -I$(top_srcdir)/src -I$(srcdir)
LDADD = $(top_builddir)/src/libbdd.la
LDADD = $(top_builddir)/src/libbddx.la

View file

@ -8,7 +8,7 @@
#include <string.h>
#include <time.h>
#include <iostream>
#include "bdd.h"
#include "bddx.h"
using namespace std;

View file

@ -9,7 +9,7 @@
#define _PARSER_H
#include <stdio.h>
#include "bdd.h"
#include "bddx.h"
#define MAXIDLEN 32 /* Max. number of allowed characters in an identifier */

View file

@ -1,6 +1,6 @@
#include <iomanip>
#include <stdlib.h>
#include <bdd.h>
#include <bddx.h>
static const int varnum = 5;
@ -47,9 +47,9 @@ void test1_check(bdd x)
{
using namespace std ;
double anum = bdd_satcount(x);
cout << "Checking bdd with " << setw(4) << anum << " assignments: ";
allsatBDD = x;
allsatSumBDD = bddfalse;
@ -107,7 +107,7 @@ void test1()
int v = rand() % varnum;
int s = rand() % 2;
int o = rand() % 2;
if (o == 0)
{
if (s == 0)
@ -136,10 +136,10 @@ int main()
{
bdd_init(1000,1000);
bdd_setvarnum(varnum);
test1();
bdd_done();
return 0;
}

View file

@ -1,7 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "bdd.h"
#include "bddx.h"
int N; /* Number of cyclers */
int *normvar; /* Current state variables */
@ -289,4 +289,3 @@ int main(int argc, char** argv)
return 0;
}

View file

@ -6,7 +6,7 @@
* 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> -> 7 -> 0
*/
#include "fdd.h"
#include "fddx.h"
/* Use the transition relation "transRel" to iterate through the statespace
*/
@ -63,7 +63,7 @@ int main() {
{
/* Set the current state to be state 'i' */
bdd current = fdd_ithvar(0,i);
/* Set the next state to be state 'i+1' */
bdd next = fdd_ithvar(1, (i+1) % 8);

View file

@ -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;
}

View file

@ -1,4 +1,4 @@
#include "bvec.h"
#include "bvecx.h"
#include <iostream>
using namespace std;
@ -16,15 +16,15 @@ using namespace std;
int main(void)
{
using namespace std ;
using namespace std ;
// Allocate 11 domains with room for up to 3*10
static int dom[11] = {30,30,30,30,30,30,30,30,30,30,30};
bdd_init(10000,10000);
fdd_extdomain(dom,11);
// Assign binary vectors (expressions) to the digits
bvec s = bvec_varfdd(0); // The 's' digit
bvec e = bvec_varfdd(1); // The 'e' digit
bvec n = bvec_varfdd(2); // ...
@ -50,7 +50,7 @@ int main(void)
// The use of "m1*10" instead of "m1*c10" avoids a bitnum mismatch since
// "m1*10" results in 5 bits but "m1*c10" results in 10 bits!
// And so on ...
bdd t2 = (n + r + m1 == e + m2*10) & n<c10 & r<c10 & m2<c2;
bdd t3 = (e + o + m2 == n + m3*10) & o<c10 & m3<c2;
@ -71,6 +71,6 @@ int main(void)
// Print result
cout << fddset << t << endl;
return 0;
}

View file

@ -23,11 +23,11 @@
. . . X
X . . .
. . X .
**************************************************************************/
#include <stdlib.h>
#include <iostream>
#include "bdd.h"
#include "bddx.h"
using namespace std;
int N; /* Size of the chess board */
@ -41,7 +41,7 @@ void build(int i, int j)
{
bdd a=bddtrue, b=bddtrue, c=bddtrue, d=bddtrue;
int k,l;
/* No one in the same column */
for (l=0 ; l<N ; l++)
if (l != j)
@ -78,7 +78,7 @@ int main(int ac, char **av)
{
using namespace std ;
int n,i,j;
if (ac != 2)
{
fprintf(stderr, "USAGE: queen N\n");
@ -97,7 +97,7 @@ int main(int ac, char **av)
bdd_setvarnum(N*N);
queen = bddtrue;
/* Build variable array */
X = new bdd*[N];
for (n=0 ; n<N ; n++)
@ -115,7 +115,7 @@ int main(int ac, char **av)
e |= X[i][j];
queen &= e;
}
/* Build requirements for each variable(field) */
for (i=0 ; i<N ; i++)
for (j=0 ; j<N ; j++)
@ -131,6 +131,6 @@ int main(int ac, char **av)
cout << bddset << solution << endl;
bdd_done();
return 0;
}

View file

@ -2,7 +2,7 @@
#include <unistd.h>
#include <stdlib.h>
#include <iostream>
#include "bdd.h"
#include "bddx.h"
using std::cout;
using std::endl;
using std::flush;
@ -23,7 +23,7 @@ bddPair *pair; // Renaming pair
// All the possible moves. Note that the numbering starts from '1'
int moves[][3] =
int moves[][3] =
{ {1,4,9}, {1,2,3},
{2,5,10},
{3,2,1}, {3,6,11},
@ -68,7 +68,7 @@ int moves[][3] =
void make_board(void)
{
bdd_setvarnum(SIZE*2);
for (int n=0 ; n<SIZE ; n++)
{
boardC[n] = bdd_ithvar(n*2);
@ -81,7 +81,7 @@ void make_board(void)
void make_initial_state(void)
{
I = bddtrue;
for (int n=0 ; n<SIZE ; n++)
if (n == CENTER)
I &= !boardC[n];
@ -95,7 +95,7 @@ void make_initial_state(void)
bdd all_other_idle(int src, int tmp, int dst)
{
bdd idle = bddtrue;
for (int n=0 ; n<SIZE ; n++)
{
if (n != src && n != tmp && n != dst)
@ -113,7 +113,7 @@ bdd make_move(int src, int tmp, int dst)
!boardN[src] & !boardN[tmp] & boardN[dst];
move &= all_other_idle(src, tmp, dst);
return move;
}
@ -122,7 +122,7 @@ void make_transition_relation(void)
{
using namespace std ;
T = bddfalse;
for (int n=0 ; moves[n][0]!=moves[n][1] ; n++)
T |= make_move(moves[n][0]-1, moves[n][1]-1, moves[n][2]-1);
@ -137,7 +137,7 @@ void make_itedata(void)
pair = bdd_newpair();
for (int n=0 ; n<SIZE ; n++)
bdd_setpair(pair, n*2+1, n*2);
currentvar = bddtrue;
for (int n=0 ; n<SIZE ; n++)
currentvar &= boardC[n];
@ -152,7 +152,7 @@ void iterate(void)
int cou = 1;
make_itedata();
do
{
tmp = reachable;
@ -177,7 +177,7 @@ void iterate_front(void)
int cou = 1;
make_itedata();
do
{
tmp = reachable;
@ -201,7 +201,7 @@ void setup(void)
bdd_init(100000,1000);
bdd_setcacheratio(64);
bdd_setmaxincrease(500000);
dummyStateNum = pow(2.0, SIZE);
make_board();
@ -217,4 +217,3 @@ int main(void)
system("ps aux | grep \"./solitare\" | grep -v \"grep\"");
}