22 #ifndef ABC__sat__bsat__satSolver_h
23 #define ABC__sat__bsat__satSolver_h
112 #ifdef USE_FLOAT_ACTIVITY
213 for (i = 0; i < s->
size; i++)
237 return nRuntimeLimit;
244 return fNotUseRandomOld;
268 for ( i = 0; i < s->
size; i++ )
292 assert( iVarA >= 0 && iVarB >= 0 );
309 assert( iVarA >= 0 && iVarB >= 0 && iVarEn >= 0 );
350 assert( iVarA >= 0 && iVarB >= 0 && iVarC >= 0 );
381 assert( iVarC >= 0 && iVarT >= 0 && iVarE >= 0 && iVarZ >= 0 );
407 if ( iVarT == iVarE )
427 assert( iVarC0 >= 0 && iVarC1 >= 0 && iVarD0 >= 0 && iVarD1 >= 0 && iVarD2 >= 0 && iVarD3 >= 0 && iVarZ >= 0 );
492 assert( iVarF >= 0 && iVarA >= 0 && iVarB >= 0 && iVarC >= 0 );
void * sat_solver_store_release(sat_solver *s)
static abctime sat_solver_set_runtime_limit(sat_solver *s, abctime Limit)
void sat_solver_restart(sat_solver *s)
int sat_solver_nclauses(sat_solver *s)
int sat_solver_nconflicts(sat_solver *s)
static int sat_solver_add_mux(sat_solver *pSat, int iVarC, int iVarT, int iVarE, int iVarZ)
static void sat_solver_bookmark(sat_solver *s)
int sat_solver_get_var_value(sat_solver *s, int v)
void sat_solver_delete(sat_solver *s)
static void sat_solver_compress(sat_solver *s)
static int sat_solver_add_xor_and(sat_solver *pSat, int iVarF, int iVarA, int iVarB, int iVarC)
double sat_solver_memory(sat_solver *s)
static void sat_solver_set_pivot_variables(sat_solver *s, int *pPivots, int nPivots)
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 sat_solver_set_random(sat_solver *s, int fNotUseRandom)
void sat_solver_store_mark_roots(sat_solver *s)
static int sat_solver_add_xor(sat_solver *pSat, int iVarA, int iVarB, int iVarC, int fCompl)
void Sat_SolverTraceStart(sat_solver *pSat, char *pName)
DECLARATIONS ///.
void sat_solver_store_alloc(sat_solver *s)
static int sat_solver_var_value(sat_solver *s, int v)
static int sat_solver_add_buffer(sat_solver *pSat, int iVarA, int iVarB, int fCompl)
int sat_solver_addclause(sat_solver *s, lit *begin, lit *end)
static int sat_solver_final(sat_solver *s, int **ppArray)
static int sat_solver_add_constraint(sat_solver *pSat, int iVar, int iVar2, int fCompl)
static int sat_solver_add_const(sat_solver *pSat, int iVar, int fCompl)
void sat_solver_store_mark_clauses_a(sat_solver *s)
void sat_solver_store_write(sat_solver *s, char *pFileName)
static lit toLitCond(int v, int c)
void sat_solver_store_free(sat_solver *s)
void sat_solver_setnvars(sat_solver *s, int n)
static void sat_solver_act_var_clear(sat_solver *s)
int sat_solver_nvars(sat_solver *s)
void Sat_SolverWriteDimacs(sat_solver *p, char *pFileName, lit *assumptionsBegin, lit *assumptionsEnd, int incrementVars)
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
void Sat_SolverTraceWrite(sat_solver *pSat, int *pBeg, int *pEnd, int fRoot)
#define ABC_NAMESPACE_HEADER_END
static clause * Sat_MemClauseHand(Sat_Mem_t *p, cla h)
static int sat_solver_count_usedvars(sat_solver *s)
int(* pCnfFunc)(void *p, int)
void sat_solver_rollback(sat_solver *s)
int sat_solver_clause_new(sat_solver *s, lit *begin, lit *end, int learnt)
int sat_solver_count_assigned(sat_solver *s)
static int sat_solver_var_literal(sat_solver *s, int v)
static clause * clause_read(sat_solver *s, cla h)
sat_solver * sat_solver_new(void)
static int sat_solver_add_buffer_enable(sat_solver *pSat, int iVarA, int iVarB, int iVarEn, int fCompl)
void Sat_SolverPrintStats(FILE *pFile, sat_solver *p)
static int sat_solver_add_mux41(sat_solver *pSat, int iVarC0, int iVarC1, int iVarD0, int iVarD1, int iVarD2, int iVarD3, int iVarZ)
int sat_solver_simplify(sat_solver *s)
static void Sat_MemBookMark(Sat_Mem_t *p)
int * Sat_SolverGetModel(sat_solver *p, int *pVars, int nVars)
void Sat_SolverDoubleClauses(sat_solver *p, int iVar)
void Sat_SolverTraceStop(sat_solver *pSat)
static int sat_solver_add_and(sat_solver *pSat, int iVar, int iVar0, int iVar1, int fCompl0, int fCompl1, int fCompl)