50 printf(
"Obj = %4d Value = %d ", Gia_ObjId(
p, pRoot), Value );
51 Gia_ObjTerSimSet0( Gia_ManConst0(
p) );
53 if ( !Gia_ObjIsTravIdCurrent(
p, pObj) )
54 Gia_ObjTerSimSetX( pObj ), printf(
"x" );
56 Gia_ObjTerSimSet1( pObj ), printf(
"1" );
58 Gia_ObjTerSimSet0( pObj ), printf(
"0" );
61 Gia_ObjTerSimAnd( pObj );
62 if ( Value ? Gia_ObjTerSimGet1(pRoot) : Gia_ObjTerSimGet0(pRoot) )
63 printf(
"Verification successful.\n" );
65 printf(
"Verification failed.\n" ), RetValue = 0;
83 if ( Gia_ObjIsTravIdCurrent(
p, pObj) )
84 return Value == (int)pObj->
fMark0;
85 Gia_ObjSetTravIdCurrent(
p, pObj);
87 if ( !Gia_ObjIsAnd(pObj) )
89 pFan0 = Gia_ObjFanin0(pObj);
90 pFan1 = Gia_ObjFanin1(pObj);
96 if ( Gia_ObjIsTravIdCurrent(
p, pFan0) )
98 if ( Gia_ObjFaninC0(pObj) == (
int)pFan0->
fMark0 )
102 if ( Gia_ObjIsTravIdCurrent(
p, pFan1) )
104 if ( Gia_ObjFaninC1(pObj) == (
int)pFan1->
fMark0 )
129 if ( Gia_ObjIsTravIdCurrent(
p, pObj) )
130 return Value == (int)pObj->
fMark0;
131 Gia_ObjSetTravIdCurrent(
p, pObj);
133 if ( !Gia_ObjIsAnd(pObj) )
135 pFan0 = Gia_ObjFanin0(pObj);
136 pFan1 = Gia_ObjFanin1(pObj);
142 if ( Gia_ObjIsTravIdCurrent(
p, pFan0) )
144 if ( Gia_ObjFaninC0(pObj) == (
int)pFan0->
fMark0 )
148 if ( Gia_ObjIsTravIdCurrent(
p, pFan1) )
150 if ( Gia_ObjFaninC1(pObj) == (
int)pFan1->
fMark0 )
159 Vec_Wrd_t * vValues = Vec_WrdStart( Gia_ManObjNum(
p) );
181 Count += (int)(Res > 0);
183 Vec_WrdFree( vValues );
184 printf(
"Obj = %6d. SAT = %6d. ", Gia_ManAndNum(
p), Count );
185 Abc_PrintTime( 1,
"Time", Abc_Clock() - clk );
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
word Cec_ManCheckSat2(Gia_Man_t *p, Gia_Obj_t *pObj, int Value, Vec_Wrd_t *vValues)
int Cec_ManCheckSat_rec(Gia_Man_t *p, Gia_Obj_t *pObj, int Value)
ABC_NAMESPACE_IMPL_START int Cec_ObjSatVerify(Gia_Man_t *p, Gia_Obj_t *pRoot, int Value)
DECLARATIONS ///.
word Cec_ManCheckSat2_rec(Gia_Man_t *p, Gia_Obj_t *pObj, word Value, Vec_Wrd_t *vValues)
void Cec_ManSimBack(Gia_Man_t *p)
#define Gia_ManForEachAnd(p, pObj, i)
struct Gia_Obj_t_ Gia_Obj_t
struct Gia_Man_t_ Gia_Man_t
void Gia_ManIncrementTravId(Gia_Man_t *p)
#define Gia_ManForEachCi(p, pObj, i)
void Gia_ManSetPhase(Gia_Man_t *p)
unsigned __int64 word
DECLARATIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Vec_Wrd_t_ Vec_Wrd_t
INCLUDES ///.