ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
AbcGlucose.h
Go to the documentation of this file.
1
20
21#ifndef ABC_SAT_GLUCOSE_H_
22#define ABC_SAT_GLUCOSE_H_
23
27
28#include "aig/gia/gia.h"
29
33
34#define GLUCOSE_UNSAT -1
35#define GLUCOSE_SAT 1
36#define GLUCOSE_UNDEC 0
37
38
40
44
47 int pre; // preprocessing
48 int verb; // verbosity
49 int cust; // customizable
50 int nConfls; // conflict limit (0 = no limit)
51};
52
53static inline Glucose_Pars Glucose_CreatePars(int p, int v, int c, int nConfls)
54{
55 Glucose_Pars pars;
56 pars.pre = p;
57 pars.verb = v;
58 pars.cust = c;
59 pars.nConfls = nConfls;
60 return pars;
61}
62
63typedef void bmcg_sat_solver;
64
68
72
76extern int bmcg_sat_solver_addclause( bmcg_sat_solver* s, int * plits, int nlits );
77extern void bmcg_sat_solver_setcallback( bmcg_sat_solver* s, void * pman, int(*pfunc)(void*, int, int*) );
78extern int bmcg_sat_solver_solve( bmcg_sat_solver* s, int * plits, int nlits );
79extern int bmcg_sat_solver_final( bmcg_sat_solver* s, int ** ppArray );
81extern void bmcg_sat_solver_set_nvars( bmcg_sat_solver* s, int nvars );
82extern int bmcg_sat_solver_eliminate( bmcg_sat_solver* s, int turn_off_elim );
83extern int bmcg_sat_solver_var_is_elim( bmcg_sat_solver* s, int v );
84extern void bmcg_sat_solver_var_set_frozen( bmcg_sat_solver* s, int v, int freeze );
88extern void bmcg_sat_solver_set_stop( bmcg_sat_solver* s, int * pstop );
90extern void bmcg_sat_solver_set_conflict_budget( bmcg_sat_solver* s, int Limit );
95extern int bmcg_sat_solver_minimize_assumptions( bmcg_sat_solver * s, int * plits, int nlits, int pivot );
96extern int bmcg_sat_solver_add_and( bmcg_sat_solver * s, int iVar, int iVar0, int iVar1, int fCompl0, int fCompl1, int fCompl );
97extern int bmcg_sat_solver_add_xor( bmcg_sat_solver * s, int iVarA, int iVarB, int iVarC, int fCompl );
98extern int bmcg_sat_solver_quantify( bmcg_sat_solver * s[], Gia_Man_t * p, int iLit, int fHash, int(*pFuncCiToKeep)(void *, int), void * pData, Vec_Int_t * vDLits );
99extern int bmcg_sat_solver_equiv_overlap_check( bmcg_sat_solver * s, Gia_Man_t * p, int iLit0, int iLit1, int fEquiv );
100extern Vec_Str_t * bmcg_sat_solver_sop( Gia_Man_t * p, int CubeLimit );
101extern int bmcg_sat_solver_jftr( bmcg_sat_solver * s );
102extern void bmcg_sat_solver_set_jftr( bmcg_sat_solver * s, int jftr );
103extern void bmcg_sat_solver_set_var_fanin_lit( bmcg_sat_solver * s, int var, int lit0, int lit1 );
105extern void bmcg_sat_solver_mark_cone( bmcg_sat_solver * s, int var );
106
107
108extern void Glucose_SolveCnf( char * pFilename, Glucose_Pars * pPars, int fDumpCnf );
109extern int Glucose_SolveAig( Gia_Man_t * p, Glucose_Pars * pPars );
110
112
113#endif
114
118
void bmcg_sat_solver_mark_cone(bmcg_sat_solver *s, int var)
void bmcg_sat_solver_start_new_round(bmcg_sat_solver *s)
int bmcg_sat_solver_conflictnum(bmcg_sat_solver *s)
void bmcg_sat_solver_reset(bmcg_sat_solver *s)
abctime bmcg_sat_solver_set_runtime_limit(bmcg_sat_solver *s, abctime Limit)
void bmcg_sat_solver_set_stop(bmcg_sat_solver *s, int *pstop)
int * bmcg_sat_solver_read_cex(bmcg_sat_solver *s)
void bmcg_sat_solver_setcallback(bmcg_sat_solver *s, void *pman, int(*pfunc)(void *, int, int *))
int bmcg_sat_solver_learntnum(bmcg_sat_solver *s)
int bmcg_sat_solver_varnum(bmcg_sat_solver *s)
void Glucose_SolveCnf(char *pFilename, Glucose_Pars *pPars, int fDumpCnf)
int bmcg_sat_solver_read_cex_varvalue(bmcg_sat_solver *s, int)
int bmcg_sat_solver_jftr(bmcg_sat_solver *s)
int bmcg_sat_solver_minimize_assumptions(bmcg_sat_solver *s, int *plits, int nlits, int pivot)
int bmcg_sat_solver_addvar(bmcg_sat_solver *s)
void bmcg_sat_solver
Definition AbcGlucose.h:63
bmcg_sat_solver * bmcg_sat_solver_start()
MACRO DEFINITIONS ///.
int bmcg_sat_solver_solve(bmcg_sat_solver *s, int *plits, int nlits)
int bmcg_sat_solver_addclause(bmcg_sat_solver *s, int *plits, int nlits)
void bmcg_sat_solver_var_set_frozen(bmcg_sat_solver *s, int v, int freeze)
void bmcg_sat_solver_set_conflict_budget(bmcg_sat_solver *s, int Limit)
int bmcg_sat_solver_quantify(bmcg_sat_solver *s[], Gia_Man_t *p, int iLit, int fHash, int(*pFuncCiToKeep)(void *, int), void *pData, Vec_Int_t *vDLits)
Vec_Str_t * bmcg_sat_solver_sop(Gia_Man_t *p, int CubeLimit)
void bmcg_sat_solver_set_var_fanin_lit(bmcg_sat_solver *s, int var, int lit0, int lit1)
int bmcg_sat_solver_eliminate(bmcg_sat_solver *s, int turn_off_elim)
void bmcg_sat_solver_set_nvars(bmcg_sat_solver *s, int nvars)
int bmcg_sat_solver_elim_varnum(bmcg_sat_solver *s)
int bmcg_sat_solver_equiv_overlap_check(bmcg_sat_solver *s, Gia_Man_t *p, int iLit0, int iLit1, int fEquiv)
void bmcg_sat_solver_set_jftr(bmcg_sat_solver *s, int jftr)
int bmcg_sat_solver_clausenum(bmcg_sat_solver *s)
void bmcg_sat_solver_stop(bmcg_sat_solver *s)
int bmcg_sat_solver_var_is_elim(bmcg_sat_solver *s, int v)
int bmcg_sat_solver_add_and(bmcg_sat_solver *s, int iVar, int iVar0, int iVar1, int fCompl0, int fCompl1, int fCompl)
int bmcg_sat_solver_add_xor(bmcg_sat_solver *s, int iVarA, int iVarB, int iVarC, int fCompl)
typedefABC_NAMESPACE_HEADER_START struct Glucose_Pars_ Glucose_Pars
BASIC TYPES ///.
Definition AbcGlucose.h:45
int bmcg_sat_solver_final(bmcg_sat_solver *s, int **ppArray)
int Glucose_SolveAig(Gia_Man_t *p, Glucose_Pars *pPars)
ABC_INT64_T abctime
Definition abc_global.h:332
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
Definition bblif.c:37
struct Vec_Str_t_ Vec_Str_t
Definition bblif.c:46
Cube * p
Definition exorList.c:222
struct Gia_Man_t_ Gia_Man_t
Definition gia.h:96