48 pOut[w] = ~(
unsigned)0;
99 unsigned * pTruth, * pTruth0, * pTruth1;
103 return (
unsigned *)pObj->
pData;
110 for ( i = 0; i <
nWords; i++ )
111 pTruth[i] = pTruth0[i] ^ pTruth1[i];
113 for ( i = 0; i <
nWords; i++ )
114 pTruth[i] = pTruth0[i] & pTruth1[i];
116 for ( i = 0; i <
nWords; i++ )
117 pTruth[i] = pTruth0[i] & ~pTruth1[i];
119 for ( i = 0; i <
nWords; i++ )
120 pTruth[i] = ~pTruth0[i] & pTruth1[i];
122 for ( i = 0; i <
nWords; i++ )
123 pTruth[i] = ~pTruth0[i] & ~pTruth1[i];
126 pObj->
pData = pTruth;
145 static unsigned uTruths[8][8] = {
146 { 0xAAAAAAAA,0xAAAAAAAA,0xAAAAAAAA,0xAAAAAAAA,0xAAAAAAAA,0xAAAAAAAA,0xAAAAAAAA,0xAAAAAAAA },
147 { 0xCCCCCCCC,0xCCCCCCCC,0xCCCCCCCC,0xCCCCCCCC,0xCCCCCCCC,0xCCCCCCCC,0xCCCCCCCC,0xCCCCCCCC },
148 { 0xF0F0F0F0,0xF0F0F0F0,0xF0F0F0F0,0xF0F0F0F0,0xF0F0F0F0,0xF0F0F0F0,0xF0F0F0F0,0xF0F0F0F0 },
149 { 0xFF00FF00,0xFF00FF00,0xFF00FF00,0xFF00FF00,0xFF00FF00,0xFF00FF00,0xFF00FF00,0xFF00FF00 },
150 { 0xFFFF0000,0xFFFF0000,0xFFFF0000,0xFFFF0000,0xFFFF0000,0xFFFF0000,0xFFFF0000,0xFFFF0000 },
151 { 0x00000000,0xFFFFFFFF,0x00000000,0xFFFFFFFF,0x00000000,0xFFFFFFFF,0x00000000,0xFFFFFFFF },
152 { 0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF },
153 { 0x00000000,0x00000000,0x00000000,0x00000000,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF }
156 unsigned * pTruth, * pTruth2;
189 for ( i = 0; i < nVars; i++ )
195 pObj->
pData = (
void *)uTruths[nVars-1-i];
201 for ( i = 0; i < nVars; i++ )
207 pObj->
pData = (
void *)uTruths[i];
254 return Truth0 & Truth1;
262 for ( i = 0; i < nVars; i++ )
static Hop_Obj_t * Hop_ObjFanin1(Hop_Obj_t *pObj)
static int Hop_ObjIsMarkA(Hop_Obj_t *pObj)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
static void Hop_ObjSetMarkA(Hop_Obj_t *pObj)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Hop_ObjIsPi(Hop_Obj_t *pObj)
static int Hop_ObjIsNode(Hop_Obj_t *pObj)
unsigned * Hop_ManConvertAigToTruth_rec2(Hop_Obj_t *pObj, Vec_Int_t *vTruth, int nWords)
static unsigned * Vec_IntFetch(Vec_Int_t *p, int nWords)
static int Hop_ObjFaninC1(Hop_Obj_t *pObj)
static ABC_NAMESPACE_IMPL_START int Hop_ManTruthWordNum(int nVars)
DECLARATIONS ///.
static Vec_Ptr_t * Vec_PtrAllocTruthTables(int nVars)
static void Vec_IntGrow(Vec_Int_t *p, int nCapMin)
static Hop_Obj_t * Hop_ManPi(Hop_Man_t *p, int i)
unsigned __int64 word
DECLARATIONS ///.
#define ABC_NAMESPACE_IMPL_END
static int Hop_IsComplement(Hop_Obj_t *p)
static void Hop_ObjClearMarkA(Hop_Obj_t *pObj)
static int Hop_ObjIsExor(Hop_Obj_t *pObj)
static Hop_Obj_t * Hop_ObjFanin0(Hop_Obj_t *pObj)
static int Hop_ObjIsConst1(Hop_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_START
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
static void Hop_ManTruthClear(unsigned *pOut, int nVars)
static int Hop_TruthWordNum(int nVars)
static int Hop_ObjFaninC0(Hop_Obj_t *pObj)
#define ABC_CONST(number)
PARAMETERS ///.
static void Hop_ManTruthFill(unsigned *pOut, int nVars)
static void Hop_ManTruthCopy(unsigned *pOut, unsigned *pIn, int nVars)
word Hop_ManComputeTruth6(Hop_Man_t *p, Hop_Obj_t *pObj, int nVars)
word Hop_ManComputeTruth6_rec(Hop_Man_t *p, Hop_Obj_t *pObj)
static void Hop_ManTruthNot(unsigned *pOut, unsigned *pIn, int nVars)
static Hop_Obj_t * Hop_Regular(Hop_Obj_t *p)
static void Vec_IntClear(Vec_Int_t *p)
unsigned * Hop_ManConvertAigToTruth(Hop_Man_t *p, Hop_Obj_t *pRoot, int nVars, Vec_Int_t *vTruth, int fMsbFirst)
typedefABC_NAMESPACE_HEADER_START struct Hop_Man_t_ Hop_Man_t
INCLUDES ///.
static void Vec_PtrFree(Vec_Ptr_t *p)
static int Hop_ManPiNum(Hop_Man_t *p)
int Hop_ManConvertAigToTruth_rec1(Hop_Obj_t *pObj)
FUNCTION DEFINITIONS ///.