diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2016-01-10 10:19:26 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2016-01-10 10:19:26 -0800 |
commit | d6178631be82089dc65263cd10293211abad5924 (patch) | |
tree | e5b663cd124026a7694a75b46b4b71811fb1b7a8 /src/sat/bsat/satSolver.h | |
parent | a4f977638849d8ba679cbdfd66e3a74c9bf91fe3 (diff) | |
download | abc-d6178631be82089dc65263cd10293211abad5924.tar.gz abc-d6178631be82089dc65263cd10293211abad5924.tar.bz2 abc-d6178631be82089dc65263cd10293211abad5924.zip |
Adding support of candinality clause to the SAT solver.
Diffstat (limited to 'src/sat/bsat/satSolver.h')
-rw-r--r-- | src/sat/bsat/satSolver.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/sat/bsat/satSolver.h b/src/sat/bsat/satSolver.h index 89391d2d..f1738eb5 100644 --- a/src/sat/bsat/satSolver.h +++ b/src/sat/bsat/satSolver.h @@ -100,6 +100,9 @@ struct sat_solver_t int hLearnts; // the first learnt clause int hBinary; // the special binary clause clause * binary; + clause * cardinality; // cardinality clause + int nCard; // cardinality size + int nCardClauses; // cardinality conflicts veci* wlists; // watcher lists veci act_clas; // contain clause activities @@ -291,7 +294,13 @@ static inline int sat_solver_count_usedvars(sat_solver* s) } return nVars; } - +static inline void sat_solver_start_cardinality(sat_solver* s, int nSize) +{ + assert( s->cardinality == NULL ); + s->cardinality = (clause*)ABC_CALLOC(int, nSize+2); + s->nCard = nSize; + s->nCardClauses = 0; +} static inline int sat_solver_add_const( sat_solver * pSat, int iVar, int fCompl ) { lit Lits[1]; |