mirror of
https://github.com/YosysHQ/abc.git
synced 2026-09-03 08:25:20 +02:00
Version abc80430
This commit is contained in:
@@ -118,6 +118,10 @@ typedef unsigned long long uint64;
|
||||
#define PRTP(a,t,T) printf("%s = ", (a)); printf("%6.2f sec (%6.2f %%)\n", (float)(t)/(float)(CLOCKS_PER_SEC), (T)? 100.0*(t)/(T) : 0.0)
|
||||
#endif
|
||||
|
||||
#ifndef PRB
|
||||
#define PRB(dd,f) printf("%s = ", #f); Extra_bddPrint(dd,f); printf("\n")
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Various Utilities */
|
||||
/*===========================================================================*/
|
||||
@@ -162,6 +166,26 @@ extern int Extra_bddNodePathsUnderCutArray( DdManager * dd, DdNode ** p
|
||||
/* find the profile of a DD (the number of edges crossing each level) */
|
||||
extern int Extra_ProfileWidth( DdManager * dd, DdNode * F, int * Profile, int CutLevel );
|
||||
|
||||
/*=== extraBddImage.c ================================================================*/
|
||||
|
||||
typedef struct Extra_ImageTree_t_ Extra_ImageTree_t;
|
||||
extern Extra_ImageTree_t * Extra_bddImageStart(
|
||||
DdManager * dd, DdNode * bCare,
|
||||
int nParts, DdNode ** pbParts,
|
||||
int nVars, DdNode ** pbVars, int fVerbose );
|
||||
extern DdNode * Extra_bddImageCompute( Extra_ImageTree_t * pTree, DdNode * bCare );
|
||||
extern void Extra_bddImageTreeDelete( Extra_ImageTree_t * pTree );
|
||||
extern DdNode * Extra_bddImageRead( Extra_ImageTree_t * pTree );
|
||||
|
||||
typedef struct Extra_ImageTree2_t_ Extra_ImageTree2_t;
|
||||
extern Extra_ImageTree2_t * Extra_bddImageStart2(
|
||||
DdManager * dd, DdNode * bCare,
|
||||
int nParts, DdNode ** pbParts,
|
||||
int nVars, DdNode ** pbVars, int fVerbose );
|
||||
extern DdNode * Extra_bddImageCompute2( Extra_ImageTree2_t * pTree, DdNode * bCare );
|
||||
extern void Extra_bddImageTreeDelete2( Extra_ImageTree2_t * pTree );
|
||||
extern DdNode * Extra_bddImageRead2( Extra_ImageTree2_t * pTree );
|
||||
|
||||
/*=== extraBddMisc.c ========================================================*/
|
||||
|
||||
extern DdNode * Extra_TransferPermute( DdManager * ddSource, DdManager * ddDestination, DdNode * f, int * Permute );
|
||||
@@ -190,6 +214,7 @@ extern DdNode * Extra_bddCreateOr( DdManager * dd, int nVars );
|
||||
extern DdNode * Extra_bddCreateExor( DdManager * dd, int nVars );
|
||||
extern DdNode * Extra_zddPrimes( DdManager * dd, DdNode * F );
|
||||
extern void Extra_bddPermuteArray( DdManager * dd, DdNode ** bNodesIn, DdNode ** bNodesOut, int nNodes, int *permut );
|
||||
extern DdNode * Extra_bddComputeCube( DdManager * dd, DdNode ** bXVars, int nVars );
|
||||
|
||||
/*=== extraBddKmap.c ================================================================*/
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -961,6 +961,34 @@ void Extra_bddPermuteArray( DdManager * manager, DdNode ** bNodesIn, DdNode ** b
|
||||
} /* end of Extra_bddPermuteArray */
|
||||
|
||||
|
||||
/**Function********************************************************************
|
||||
|
||||
Synopsis [Computes the positive polarty cube composed of the first vars in the array.]
|
||||
|
||||
Description []
|
||||
|
||||
SideEffects []
|
||||
|
||||
SeeAlso []
|
||||
|
||||
******************************************************************************/
|
||||
DdNode * Extra_bddComputeCube( DdManager * dd, DdNode ** bXVars, int nVars )
|
||||
{
|
||||
DdNode * bRes;
|
||||
DdNode * bTemp;
|
||||
int i;
|
||||
|
||||
bRes = b1; Cudd_Ref( bRes );
|
||||
for ( i = 0; i < nVars; i++ )
|
||||
{
|
||||
bRes = Cudd_bddAnd( dd, bTemp = bRes, bXVars[i] ); Cudd_Ref( bRes );
|
||||
Cudd_RecursiveDeref( dd, bTemp );
|
||||
}
|
||||
|
||||
Cudd_Deref( bRes );
|
||||
return bRes;
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Definition of internal functions */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
SRC += src/misc/extra/extraBddAuto.c \
|
||||
src/misc/extra/extraBddCas.c \
|
||||
src/misc/extra/extraBddImage.c \
|
||||
src/misc/extra/extraBddKmap.c \
|
||||
src/misc/extra/extraBddMisc.c \
|
||||
src/misc/extra/extraBddSymm.c \
|
||||
|
||||
Reference in New Issue
Block a user