17 #ifndef ABC__bool__lucky__LUCKY_INT_H_
18 #define ABC__bool__lucky__LUCKY_INT_H_
37 #define ABC_NAMESPACE_HEADER_START
38 #define ABC_NAMESPACE_HEADER_END
39 #define ABC_NAMESPACE_IMPL_START
40 #define ABC_NAMESPACE_IMPL_END
41 typedef unsigned __int64
word;
45 #define inline __inline // compatible with MS VS 6.0
46 #define ABC_ALLOC(type, num) ((type *) malloc(sizeof(type) * (num)))
93 double time = 1.0*(
Abc_Clock() - timeBegin)/CLOCKS_PER_SEC ;
95 printf(
"%s = %f sec.\n", Message, time);
108 static inline int luckyMin(
int x,
int y ) {
return (x < y) ? x : y; }
109 static inline int luckyMax(
int x,
int y ) {
return (x < y) ? y : x; }
129 extern unsigned adjustInfoAfterSwap(
char* pCanonPerm,
unsigned uCanonPhase,
int iVar,
unsigned info);
131 extern void swap_ij(
word* f,
int totalVars,
int varI,
int varJ);
permInfo * setPermInfoPtr(int var)
void Kit_TruthCopy_64bit(word *pOut, word *pIn, int nVars)
void simpleMinimal(word *x, word *pAux, word *minimal, permInfo *pi, int nVars)
typedefABC_NAMESPACE_IMPL_START struct Abc_TtStore_t_ Abc_TtStore_t
DECLARATIONS ///.
void freePermInfoPtr(permInfo *x)
int Kit_TruthCountOnes_64bit(word *pIn, int nVars)
void Kit_TruthSwapAdjacentVars_64bit(word *pInOut, int nVars, int iVar)
void resetPCanonPermArray_6Vars(char *x)
int Kit_TruthWordNum_64bit(int nVars)
static abctime Abc_Clock()
Abc_TtStore_t * setTtStore(char *pFileInput)
void swap_ij(word *f, int totalVars, int varI, int varJ)
void Kit_TruthSemiCanonicize_Yasha_simple(word *pInOut, int nVars, int *pStore)
int memCompare(word *x, word *y, int nVars)
static int luckyMin(int x, int y)
unsigned __int64 word
DECLARATIONS ///.
static void TimePrint(char *Message)
unsigned adjustInfoAfterSwap(char *pCanonPerm, unsigned uCanonPhase, int iVar, unsigned info)
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
word luckyCanonicizer_final_fast_6Vars1(word InOut, int *pStore, char *pCanonPerm, unsigned *pCanonPhase)
void Kit_TruthNot_64bit(word *pIn, int nVars)
#define ABC_NAMESPACE_HEADER_END
void Abc_TruthStoreFree(Abc_TtStore_t *p)
unsigned Kit_TruthSemiCanonicize_Yasha1(word *pInOut, int nVars, char *pCanonPerm, int *pStore)
static int luckyMax(int x, int y)
void Kit_TruthChangePhase_64bit(word *pInOut, int nVars, int iVar)
unsigned Kit_TruthSemiCanonicize_Yasha(word *pInOut, int nVars, char *pCanonPerm)
word luckyCanonicizer_final_fast_6Vars(word InOut, int *pStore, char *pCanonPerm, unsigned *pCanonPhase)
static int CompareWords(word x, word y)