* src/bdd.h: Declare bdd_copypair().
* src/pairs.c (bdd_copypair, bdd_pairalloc): New functions. (bdd_newpair): Use bdd_pairalloc.
This commit is contained in:
parent
38f7ae9a46
commit
ed8ae1ed55
3 changed files with 106 additions and 60 deletions
|
|
@ -1,3 +1,9 @@
|
||||||
|
2003-05-19 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||||||
|
|
||||||
|
* src/bdd.h: Declare bdd_copypair().
|
||||||
|
* src/pairs.c (bdd_copypair, bdd_pairalloc): New functions.
|
||||||
|
(bdd_newpair): Use bdd_pairalloc.
|
||||||
|
|
||||||
2003-05-12 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
2003-05-12 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||||||
|
|
||||||
* src/kernel.c (bdd_default_errhandler): Call abort(), not exit(1).
|
* src/kernel.c (bdd_default_errhandler): Call abort(), not exit(1).
|
||||||
|
|
@ -44,4 +50,3 @@
|
||||||
* src/kernel.h (DEFAULT_CLOCK): Default to 60 if not already
|
* src/kernel.h (DEFAULT_CLOCK): Default to 60 if not already
|
||||||
defined.
|
defined.
|
||||||
* README: Update build instruction, and file listing.
|
* README: Update build instruction, and file listing.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
========================================================================*/
|
========================================================================*/
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
$Header: /Volumes/CVS/repository/spot/spot/buddy/src/bdd.h,v 1.2 2003/05/05 13:45:04 aduret Exp $
|
$Header: /Volumes/CVS/repository/spot/spot/buddy/src/bdd.h,v 1.3 2003/05/19 15:58:44 aduret Exp $
|
||||||
FILE: bdd.h
|
FILE: bdd.h
|
||||||
DESCR: C,C++ User interface for the BDD package
|
DESCR: C,C++ User interface for the BDD package
|
||||||
AUTH: Jorn Lind
|
AUTH: Jorn Lind
|
||||||
|
|
@ -263,6 +263,7 @@ extern BDD bdd_delref(BDD);
|
||||||
extern void bdd_gbc(void);
|
extern void bdd_gbc(void);
|
||||||
extern int bdd_scanset(BDD, int**, int*);
|
extern int bdd_scanset(BDD, int**, int*);
|
||||||
extern BDD bdd_makeset(int *, int);
|
extern BDD bdd_makeset(int *, int);
|
||||||
|
extern bddPair* bdd_copypair(bddPair*);
|
||||||
extern bddPair* bdd_newpair(void);
|
extern bddPair* bdd_newpair(void);
|
||||||
extern int bdd_setpair(bddPair*, int, int);
|
extern int bdd_setpair(bddPair*, int, int);
|
||||||
extern int bdd_setpairs(bddPair*, int*, int*, int);
|
extern int bdd_setpairs(bddPair*, int*, int*, int);
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
========================================================================*/
|
========================================================================*/
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
$Header: /Volumes/CVS/repository/spot/spot/buddy/src/pairs.c,v 1.2 2003/05/05 13:45:08 aduret Exp $
|
$Header: /Volumes/CVS/repository/spot/spot/buddy/src/pairs.c,v 1.3 2003/05/19 15:58:44 aduret Exp $
|
||||||
FILE: pairs.c
|
FILE: pairs.c
|
||||||
DESCR: Pair management for BDD package.
|
DESCR: Pair management for BDD package.
|
||||||
AUTH: Jorn Lind
|
AUTH: Jorn Lind
|
||||||
|
|
@ -113,6 +113,25 @@ void bdd_pairs_vardown(int level)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static bddPair *bdd_pairalloc()
|
||||||
|
{
|
||||||
|
bddPair *p;
|
||||||
|
if ((p=(bddPair*)malloc(sizeof(bddPair))) == NULL)
|
||||||
|
{
|
||||||
|
bdd_error(BDD_MEMORY);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((p->result=(BDD*)malloc(sizeof(BDD)*bddvarnum)) == NULL)
|
||||||
|
{
|
||||||
|
free(p);
|
||||||
|
bdd_error(BDD_MEMORY);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int bdd_pairs_resize(int oldsize, int newsize)
|
int bdd_pairs_resize(int oldsize, int newsize)
|
||||||
{
|
{
|
||||||
bddPair *p;
|
bddPair *p;
|
||||||
|
|
@ -148,18 +167,9 @@ bddPair *bdd_newpair(void)
|
||||||
int n;
|
int n;
|
||||||
bddPair *p;
|
bddPair *p;
|
||||||
|
|
||||||
if ((p=(bddPair*)malloc(sizeof(bddPair))) == NULL)
|
p = bdd_pairalloc();
|
||||||
{
|
if (p == NULL)
|
||||||
bdd_error(BDD_MEMORY);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
|
|
||||||
if ((p->result=(BDD*)malloc(sizeof(BDD)*bddvarnum)) == NULL)
|
|
||||||
{
|
|
||||||
free(p);
|
|
||||||
bdd_error(BDD_MEMORY);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (n=0 ; n<bddvarnum ; n++)
|
for (n=0 ; n<bddvarnum ; n++)
|
||||||
p->result[n] = bdd_ithvar(bddlevel2var[n]);
|
p->result[n] = bdd_ithvar(bddlevel2var[n]);
|
||||||
|
|
@ -172,6 +182,37 @@ bddPair *bdd_newpair(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
NAME {* bdd\_copypair *}
|
||||||
|
SECTION {* kernel *}
|
||||||
|
SHORT {* clone a pair table *}
|
||||||
|
PROTO {* bddPair *bdd_copypair(bddPair *from) *}
|
||||||
|
DESCR {* Duplicate the table of pairs {\tt from}.
|
||||||
|
This function allocates the cloned table. The
|
||||||
|
table can be freed by a call to {\em bdd\_freepair}. *}
|
||||||
|
RETURN {* Returns a new table of pairs. *}
|
||||||
|
ALSO {* bdd\_newpair, bdd\_freepair, bdd\_replace, bdd\_setpair, bdd\_setpairs *}
|
||||||
|
*/
|
||||||
|
bddPair *bdd_copypair(bddPair *from)
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
bddPair *p;
|
||||||
|
|
||||||
|
p = bdd_pairalloc();
|
||||||
|
if (p == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
for (n=0 ; n<bddvarnum ; n++)
|
||||||
|
p->result[n] = from->result[n];
|
||||||
|
|
||||||
|
p->id = update_pairsid();
|
||||||
|
p->last = -1;
|
||||||
|
|
||||||
|
bdd_register_pair(p);
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
NAME {* bdd\_setpair *}
|
NAME {* bdd\_setpair *}
|
||||||
EXTRA {* bdd\_setbddpair *}
|
EXTRA {* bdd\_setbddpair *}
|
||||||
|
|
@ -332,4 +373,3 @@ void bdd_resetpair(bddPair *p)
|
||||||
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue