43#define DAU_MAX_STR 2000
44#define DAU_MAX_WORD (1<<(DAU_MAX_VAR-6))
69static inline int Dau_DsdIsConst(
char *
p ) {
return (
p[0] ==
'0' ||
p[0] ==
'1') &&
p[1] == 0; }
70static inline int Dau_DsdIsConst0(
char *
p ) {
return p[0] ==
'0' &&
p[1] == 0; }
71static inline int Dau_DsdIsConst1(
char *
p ) {
return p[0] ==
'1' &&
p[1] == 0; }
72static inline int Dau_DsdIsVar(
char *
p ) {
if ( *
p ==
'!' )
p++;
return *
p >=
'a' && *
p <=
'z'; }
73static inline int Dau_DsdReadVar(
char *
p ) {
if ( *
p ==
'!' )
p++;
return *
p -
'a'; }
94extern int Dau_DsdDecompose(
word * pTruth,
int nVarsInit,
int fSplitPrime,
int fWriteTruth,
char * pRes );
95extern int Dau_DsdDecomposeLevel(
word * pTruth,
int nVarsInit,
int fSplitPrime,
int fWriteTruth,
char * pRes,
int * pVarLevels );
111extern char *
Dau_DsdMerge(
char * pDsd0i,
int * pPerm0,
char * pDsd1i,
int * pPerm1,
int fCompl0,
int fCompl1,
int nVars );
116extern void Dau_DecSortSet(
unsigned set,
int nVars,
int * pnUnique,
int * pnShared,
int * pnFree );
123extern int Dss_ManMerge(
Dss_Man_t *
p,
int * iDsd,
int * nFans,
int ** pFans,
unsigned uSharedMask,
int nKLutSize,
unsigned char * pPerm,
word * pTruth );
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
int Dau_DsdCheck1Step(void *p, word *pTruth, int nVarsInit, int *pVarLevels)
word * Dau_DsdToTruth(char *p, int nVars)
void Dss_ManPrint(char *pFileName, Dss_Man_t *p)
void Dau_DsdRemoveBraces(char *pDsd, int *pMatches)
void Dau_DsdPrintFromTruthFile(FILE *pFile, word *pTruth, int nVarsInit)
int Dsm_ManTruthToGia(void *p, word *pTruth, Vec_Int_t *vLeaves, Vec_Int_t *vCover)
struct Abc_TtHieMan_t_ Abc_TtHieMan_t
void Dau_DecPrintSet(unsigned set, int nVars, int fNewLine)
int Abc_TtCountOnesInCofsSimple(word *pTruth, int nVars, int *pStore)
int Dau_DsdDecompose(word *pTruth, int nVarsInit, int fSplitPrime, int fWriteTruth, char *pRes)
Vec_Int_t * Dau_DecFindSets(word *pInit, int nVars)
int Dau_DsdDecomposeLevel(word *pTruth, int nVarsInit, int fSplitPrime, int fWriteTruth, char *pRes, int *pVarLevels)
int * Dau_DsdComputeMatches(char *p)
void Dau_DsdTruthCompose_rec(word *pFunc, word pFanins[DAU_MAX_VAR][DAU_MAX_WORD], word *pRes, int nVars, int nWordsR)
unsigned Abc_TtCanonicizePhase(word *pTruth, int nVars)
void Dau_DsdPrintFromTruth(word *pTruth, int nVarsInit)
void Dau_DsdNormalize(char *p)
struct Dss_Man_t_ Dss_Man_t
Dau_DsdType_t
BASIC TYPES ///.
Dss_Man_t * Dss_ManAlloc(int nVars, int nNonDecLimit)
int Dau_DsdCountAnds(char *pDsd)
unsigned(* TtCanonicizeFunc)(Abc_TtHieMan_t *p, word *pTruth, int nVars, char *pCanonPerm, int flag)
char * Dau_DsdMerge(char *pDsd0i, int *pPerm0, char *pDsd1i, int *pPerm1, int fCompl0, int fCompl1, int nVars)
DECLARATIONS ///.
void Dau_DecPrintSets(Vec_Int_t *vSets, int nVars)
unsigned Abc_TtCanonicizePerm(word *pTruth, int nVars, char *pCanonPerm)
void Dss_ManFree(Dss_Man_t *p)
int Abc_TtCountOnesInCofsQuick(word *pTruth, int nVars, int *pStore)
unsigned Abc_TtCanonicizeAda(Abc_TtHieMan_t *p, word *pTruth, int nVars, char *pCanonPerm, int iThres)
unsigned Abc_TtCanonicizeHie(Abc_TtHieMan_t *p, word *pTruth, int nVars, char *pCanonPerm, int fExact)
#define DAU_MAX_VAR
INCLUDES ///.
Abc_TtHieMan_t * Abc_TtHieManStart(int nVars, int nLevels)
void Abc_TtHieManStop(Abc_TtHieMan_t *p)
Vec_Int_t * Dau_DecFindSets_int(word *pInit, int nVars, int *pSched[16])
int Dss_ManMerge(Dss_Man_t *p, int *iDsd, int *nFans, int **pFans, unsigned uSharedMask, int nKLutSize, unsigned char *pPerm, word *pTruth)
void Dau_DecSortSet(unsigned set, int nVars, int *pnUnique, int *pnShared, int *pnFree)
word Dau_Dsd6ToTruth(char *p)
unsigned Abc_TtCanonicizeWrap(TtCanonicizeFunc func, Abc_TtHieMan_t *p, word *pTruth, int nVars, char *pCanonPerm, int flag)
unsigned Abc_TtCanonicize(word *pTruth, int nVars, char *pCanonPerm)
FUNCTION DECLARATIONS ///.
void * Dsm_ManDeriveGia(void *p, int fUseMuxes)
unsigned __int64 word
DECLARATIONS ///.