33 unsigned * pInfo = (
unsigned *)
Vec_IntEntryP( vData, nWords * iFrame );
34 return 3 & (pInfo[iObj >> 4] >> ((iObj & 15) << 1));
38 unsigned * pInfo = (
unsigned *)
Vec_IntEntryP( vData, nWords * iFrame );
39 Value ^= (3 & (pInfo[iObj >> 4] >> ((iObj & 15) << 1)));
40 pInfo[iObj >> 4] ^= (Value << ((iObj & 15) << 1));
44 unsigned * pInfo = (
unsigned *)
Vec_IntEntryP( vData, nWords * iFrame );
45 pInfo[iObj >> 4] |= (Value << ((iObj & 15) << 1));
75 int RetValue, f, k, Value, Value0, Value1, iBit;
82 for ( f = 0, iBit = pCex->nRegs; f <= pCex->iFrame; f++ )
93 if ( f == pCex->iFrame )
99 assert( iBit == pCex->nBits );
103 printf(
"Counter-example is invalid.\n" );
109 for ( f = pCex->iFrame; f >= 0; f-- )
127 if ( Value0 == Value1 )
129 assert( Value == (Value0 & Value1) );
130 if ( fJustMax || Value == 1 )
142 else if ( Value0 == 0 )
148 else if ( Value1 == 0 )
188 assert( iFrame >= 0 && iFrame <= pCex->iFrame );
197 if ( fUseAllObjects )
213 for ( f = iFrame; f <= pCex->iFrame; f++ )
237 if ( fUseAllObjects )
288 if ( f == pCex->iFrame )
326 assert( iFrameStart >= 0 && iFrameStart <= pCex->iFrame );
334 printf(
"%3d : ", iFrameStart );
342 for ( f = pCex->iFrame; f >= iFrameStart; f-- )
345 printf(
"%3d : ", f );
void Gia_ManStop(Gia_Man_t *p)
#define Gia_ManForEachCo(p, pObj, i)
void Gia_ManPrintStats(Gia_Man_t *p, Gps_Par_t *pPars)
static int Gia_ManPoNum(Gia_Man_t *p)
static int Gia_ObjFaninC1(Gia_Obj_t *pObj)
static int Gia_ManAppendCo(Gia_Man_t *p, int iLit0)
static int Gia_ManGetTwo(Gia_Man_t *p, int iFrame, Gia_Obj_t *pObj)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Abc_InfoHasBit(unsigned *p, int i)
Abc_Cex_t * Gia_ManCexMin(Gia_Man_t *p, Abc_Cex_t *pCex, int iFrameStart, int nRealPis, int fJustMax, int fUseAll, int fVerbose)
static Gia_Obj_t * Gia_ManPo(Gia_Man_t *p, int v)
static int Gia_ManAppendCi(Gia_Man_t *p)
void Gia_ManCleanValue(Gia_Man_t *p)
void Gia_ManCleanMark0(Gia_Man_t *p)
static void Abc_InfoSet2Bits(Vec_Int_t *vData, int nWords, int iFrame, int iObj, int Value)
static void Gia_ManAddTwo(Gia_Man_t *p, int iFrame, Gia_Obj_t *pObj, int Value)
static void Abc_InfoAdd2Bits(Vec_Int_t *vData, int nWords, int iFrame, int iObj, int Value)
#define Gia_ManForEachRiRo(p, pObjRi, pObjRo, i)
static Vec_Int_t * Vec_IntStart(int nSize)
static Gia_Obj_t * Gia_ObjFanin0(Gia_Obj_t *pObj)
#define Gia_ManForEachAndReverse(p, pObj, i)
static void Gia_ManSetTwo(Gia_Man_t *p, int iFrame, Gia_Obj_t *pObj, int Value)
#define ABC_NAMESPACE_IMPL_END
Gia_Man_t * Gia_ManStart(int nObjsMax)
DECLARATIONS ///.
Gia_Man_t * Gia_ManCreateUnate(Gia_Man_t *p, Abc_Cex_t *pCex, int iFrame, int nRealPis, int fUseAllObjects)
#define Gia_ManForEachAnd(p, pObj, i)
static int Gia_ObjId(Gia_Man_t *p, Gia_Obj_t *pObj)
static void Vec_IntFreeP(Vec_Int_t **p)
#define Gia_ManForEachPi(p, pObj, i)
void Gia_AigerWrite(Gia_Man_t *p, char *pFileName, int fWriteSymbols, int fCompact)
int Gia_ManAnnotateUnrolling(Gia_Man_t *p, Abc_Cex_t *pCex, int fJustMax)
FUNCTION DEFINITIONS ///.
#define ABC_NAMESPACE_IMPL_START
static Gia_Obj_t * Gia_ManConst0(Gia_Man_t *p)
static Gia_Obj_t * Gia_ObjFanin1(Gia_Obj_t *pObj)
#define Gia_ManForEachRo(p, pObj, i)
static int Abc_BitWordNum(int nBits)
static int * Vec_IntEntryP(Vec_Int_t *p, int i)
typedefABC_NAMESPACE_HEADER_START struct Abc_Cex_t_ Abc_Cex_t
INCLUDES ///.
void Gia_ManHashAlloc(Gia_Man_t *p)
static int Gia_ObjFaninC0(Gia_Obj_t *pObj)
static int Gia_ManPiNum(Gia_Man_t *p)
Gia_Man_t * Gia_ManCleanup(Gia_Man_t *p)
static ABC_NAMESPACE_IMPL_START int Abc_InfoGet2Bits(Vec_Int_t *vData, int nWords, int iFrame, int iObj)
DECLARATIONS ///.
char * Abc_UtilStrsav(char *s)
int Gia_ManHashOr(Gia_Man_t *p, int iLit0, int iLit1)
int Gia_ManHashAnd(Gia_Man_t *p, int iLit0, int iLit1)
static int Gia_ManObjNum(Gia_Man_t *p)
void Gia_ManHashStop(Gia_Man_t *p)