93 else if ( Value == 1 )
95 else if ( Value == 2 )
97 else if ( Value == 3 )
99 else if ( Value == 4 )
101 else if ( Value == 5 )
105 for ( f = 0; f < nFrames; f++ )
138 int nIterMax = 1000000;
139 int i, iLit, Iter, status;
154 printf(
"Running with %d frames and %sgiven init state.\n", nFrames, vInit ?
"":
"no " );
159 for ( i = 0; i < pCnf->
nClauses; i++ )
179 printf(
"Iter%6d : ", 0 );
187 for ( Iter = 0; Iter < nIterMax; Iter++ )
196 printf(
"Timeout reached after %d seconds and %d iterations. ", nTimeOut, Iter );
203 printf(
"The problem is SAT after %d iterations. ", Iter );
210 printf(
"Iter%6d : ", Iter+1 );
214 printf(
"Subset =%6d ", nLits );
222 printf(
"Reached fixed point with %d entries after %d iterations. ",
Vec_IntSize(vLits), Iter+1 );
227 for ( i = 0; i < nLits; i++ )
271 if ( vInit != vInit0 )
static ABC_NAMESPACE_IMPL_START Cnf_Dat_t * Cnf_DeriveGiaRemapped(Gia_Man_t *p)
DECLARATIONS ///.
static abctime sat_solver_set_runtime_limit(sat_solver *s, abctime Limit)
static int * Vec_IntArray(Vec_Int_t *p)
void Gia_ManStop(Gia_Man_t *p)
Aig_Man_t * Gia_ManToAigSimple(Gia_Man_t *p)
static Vec_Int_t * Vec_IntDup(Vec_Int_t *pVec)
#define Gia_ManForEachCo(p, pObj, i)
Cnf_Dat_t * Cnf_Derive(Aig_Man_t *pAig, int nOutputs)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
static int Gia_ManAppendCo(Gia_Man_t *p, int iLit0)
int sat_solver_addclause(sat_solver *s, lit *begin, lit *end)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
void Aig_ManStop(Aig_Man_t *p)
static int Gia_ManCiLit(Gia_Man_t *p, int CiId)
int sat_solver_solve(sat_solver *s, lit *begin, lit *end, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimit, ABC_INT64_T nConfLimitGlobal, ABC_INT64_T nInsLimitGlobal)
static int Gia_ManAppendCi(Gia_Man_t *p)
void sat_solver_delete(sat_solver *s)
static int Abc_Var2Lit(int Var, int fCompl)
int sat_solver_nconflicts(sat_solver *s)
Vec_Int_t * Gia_ManMaxiTest(Gia_Man_t *p, Vec_Int_t *vInit0, int nFrames, int nWords, int nTimeOut, int fSim, int fVerbose)
static abctime Abc_Clock()
Vec_Int_t * Gia_ManMaxiPerform(Gia_Man_t *p, Vec_Int_t *vInit, int nFrames, int nTimeOut, int fVerbose)
static int sat_solver_final(sat_solver *s, int **ppArray)
static void Abc_PrintTime(int level, const char *pStr, abctime time)
static void Vec_IntWriteEntry(Vec_Int_t *p, int i, int Entry)
static int Aig_ManCoNum(Aig_Man_t *p)
static Vec_Int_t * Vec_IntStart(int nSize)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
static int Gia_ObjFanin1Copy(Gia_Obj_t *pObj)
static Gia_Obj_t * Gia_ObjRoToRi(Gia_Man_t *p, Gia_Obj_t *pObj)
void sat_solver_setnvars(sat_solver *s, int n)
static int Vec_IntEntry(Vec_Int_t *p, int i)
int sat_solver_nvars(sat_solver *s)
#define ABC_NAMESPACE_IMPL_END
Gia_Man_t * Gia_ManStart(int nObjsMax)
DECLARATIONS ///.
#define Gia_ManForEachAnd(p, pObj, i)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
static int Gia_ObjId(Gia_Man_t *p, Gia_Obj_t *pObj)
#define Gia_ManForEachPi(p, pObj, i)
static int Gia_ObjFanin0Copy(Gia_Obj_t *pObj)
int sat_solver_nclauses(sat_solver *s)
#define ABC_NAMESPACE_IMPL_START
Gia_Man_t * Gia_ManMaxiUnfold(Gia_Man_t *p, int nFrames, int fUseVars, Vec_Int_t *vInit)
static int Abc_LitNot(int Lit)
sat_solver * sat_solver_new(void)
static int Vec_IntSize(Vec_Int_t *p)
static Gia_Obj_t * Gia_ManConst0(Gia_Man_t *p)
static int Abc_Lit2Var(int Lit)
void Cnf_DataFree(Cnf_Dat_t *p)
#define Gia_ManForEachRo(p, pObj, i)
#define Gia_ManForEachRi(p, pObj, i)
void Gia_ManHashAlloc(Gia_Man_t *p)
static void Vec_IntFree(Vec_Int_t *p)
static int Gia_ManPiNum(Gia_Man_t *p)
static void Vec_IntClear(Vec_Int_t *p)
Gia_Man_t * Gia_ManCleanup(Gia_Man_t *p)
char * Abc_UtilStrsav(char *s)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
int Gia_ManHashOr(Gia_Man_t *p, int iLit0, int iLit1)
int Gia_ManHashAnd(Gia_Man_t *p, int iLit0, int iLit1)
Gia_Man_t * Gia_ManMiter(Gia_Man_t *pAig0, Gia_Man_t *pAig1, int nInsDup, int fDualOut, int fSeq, int fImplic, int fVerbose)
static int Gia_ManObjNum(Gia_Man_t *p)
static int Gia_ManCoNum(Gia_Man_t *p)
static int Gia_ManRegNum(Gia_Man_t *p)