ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
AbcGlucose2.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 Glucose2_Pars Glucose_CreatePars(int p, int v, int c, int nConfls)
54{
55 Glucose2_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 bmcg2_sat_solver;
64
68
72
76extern int bmcg2_sat_solver_addclause( bmcg2_sat_solver* s, int * plits, int nlits );
77extern void bmcg2_sat_solver_setcallback( bmcg2_sat_solver* s, void * pman, int(*pfunc)(void*, int, int*) );
78extern int bmcg2_sat_solver_solve( bmcg2_sat_solver* s, int * plits, int nlits );
79extern int bmcg2_sat_solver_final( bmcg2_sat_solver* s, int ** ppArray );
81extern void bmcg2_sat_solver_set_nvars( bmcg2_sat_solver* s, int nvars );
82extern int bmcg2_sat_solver_eliminate( bmcg2_sat_solver* s, int turn_off_elim );
84extern void bmcg2_sat_solver_var_set_frozen( bmcg2_sat_solver* s, int v, int freeze );
88extern void bmcg2_sat_solver_set_stop( bmcg2_sat_solver* s, int * pstop );
89extern void bmcg2_sat_solver_markapprox(bmcg2_sat_solver* s, int v0, int v1, int nlim);
96extern int bmcg2_sat_solver_minimize_assumptions( bmcg2_sat_solver * s, int * plits, int nlits, int pivot );
97extern int bmcg2_sat_solver_add_and( bmcg2_sat_solver * s, int iVar, int iVar0, int iVar1, int fCompl0, int fCompl1, int fCompl );
98extern int bmcg2_sat_solver_add_xor( bmcg2_sat_solver * s, int iVarA, int iVarB, int iVarC, int fCompl );
99extern int bmcg2_sat_solver_quantify( bmcg2_sat_solver * s[], Gia_Man_t * p, int iLit, int fHash, int(*pFuncCiToKeep)(void *, int), void * pData, Vec_Int_t * vDLits );
100extern int bmcg2_sat_solver_equiv_overlap_check( bmcg2_sat_solver * s, Gia_Man_t * p, int iLit0, int iLit1, int fEquiv );
101extern Vec_Str_t * bmcg2_sat_solver_sop( Gia_Man_t * p, int CubeLimit );
103extern void bmcg2_sat_solver_set_jftr( bmcg2_sat_solver * s, int jftr );
104extern void bmcg2_sat_solver_set_var_fanin_lit( bmcg2_sat_solver * s, int var, int lit0, int lit1 );
106extern void bmcg2_sat_solver_mark_cone( bmcg2_sat_solver * s, int var );
107extern void bmcg2_sat_solver_prelocate( bmcg2_sat_solver * s, int var_num );
108
109extern void Glucose2_SolveCnf( char * pFilename, Glucose2_Pars * pPars );
110extern int Glucose2_SolveAig( Gia_Man_t * p, Glucose2_Pars * pPars );
111
113
114#endif
115
119
int bmcg2_sat_solver_addclause(bmcg2_sat_solver *s, int *plits, int nlits)
int bmcg2_sat_solver_minimize_assumptions(bmcg2_sat_solver *s, int *plits, int nlits, int pivot)
int bmcg2_sat_solver_add_xor(bmcg2_sat_solver *s, int iVarA, int iVarB, int iVarC, int fCompl)
int bmcg2_sat_solver_final(bmcg2_sat_solver *s, int **ppArray)
int bmcg2_sat_solver_quantify(bmcg2_sat_solver *s[], Gia_Man_t *p, int iLit, int fHash, int(*pFuncCiToKeep)(void *, int), void *pData, Vec_Int_t *vDLits)
void bmcg2_sat_solver_set_var_fanin_lit(bmcg2_sat_solver *s, int var, int lit0, int lit1)
int bmcg2_sat_solver_elim_varnum(bmcg2_sat_solver *s)
int bmcg2_sat_solver_learntnum(bmcg2_sat_solver *s)
void bmcg2_sat_solver_var_set_frozen(bmcg2_sat_solver *s, int v, int freeze)
void bmcg2_sat_solver_stop(bmcg2_sat_solver *s)
abctime bmcg2_sat_solver_set_runtime_limit(bmcg2_sat_solver *s, abctime Limit)
int bmcg2_sat_solver_var_is_elim(bmcg2_sat_solver *s, int v)
int bmcg2_sat_solver_solve(bmcg2_sat_solver *s, int *plits, int nlits)
void bmcg2_sat_solver_set_jftr(bmcg2_sat_solver *s, int jftr)
void bmcg2_sat_solver_mark_cone(bmcg2_sat_solver *s, int var)
void bmcg2_sat_solver_setcallback(bmcg2_sat_solver *s, void *pman, int(*pfunc)(void *, int, int *))
int bmcg2_sat_solver_equiv_overlap_check(bmcg2_sat_solver *s, Gia_Man_t *p, int iLit0, int iLit1, int fEquiv)
int Glucose2_SolveAig(Gia_Man_t *p, Glucose2_Pars *pPars)
void Glucose2_SolveCnf(char *pFilename, Glucose2_Pars *pPars)
int bmcg2_sat_solver_varnum(bmcg2_sat_solver *s)
bmcg2_sat_solver * bmcg2_sat_solver_start()
MACRO DEFINITIONS ///.
int bmcg2_sat_solver_read_cex_varvalue(bmcg2_sat_solver *s, int)
int bmcg2_sat_solver_clausenum(bmcg2_sat_solver *s)
void bmcg2_sat_solver_reset(bmcg2_sat_solver *s)
int * bmcg2_sat_solver_read_cex(bmcg2_sat_solver *s)
int bmcg2_sat_solver_conflictnum(bmcg2_sat_solver *s)
int bmcg2_sat_solver_add_and(bmcg2_sat_solver *s, int iVar, int iVar0, int iVar1, int fCompl0, int fCompl1, int fCompl)
void bmcg2_sat_solver_prelocate(bmcg2_sat_solver *s, int var_num)
Vec_Str_t * bmcg2_sat_solver_sop(Gia_Man_t *p, int CubeLimit)
void bmcg2_sat_solver_markapprox(bmcg2_sat_solver *s, int v0, int v1, int nlim)
int bmcg2_sat_solver_eliminate(bmcg2_sat_solver *s, int turn_off_elim)
void bmcg2_sat_solver_set_stop(bmcg2_sat_solver *s, int *pstop)
void bmcg2_sat_solver_set_nvars(bmcg2_sat_solver *s, int nvars)
int bmcg2_sat_solver_addvar(bmcg2_sat_solver *s)
int bmcg2_sat_solver_jftr(bmcg2_sat_solver *s)
void bmcg2_sat_solver
Definition AbcGlucose2.h:63
void bmcg2_sat_solver_start_new_round(bmcg2_sat_solver *s)
void bmcg2_sat_solver_set_conflict_budget(bmcg2_sat_solver *s, int Limit)
typedefABC_NAMESPACE_HEADER_START struct Glucose2_Pars_ Glucose2_Pars
BASIC TYPES ///.
Definition AbcGlucose2.h:45
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