abc-master
|
#include "msatInt.h"
Go to the source code of this file.
Functions | |
static ABC_NAMESPACE_IMPL_START void | Msat_SolverUndoOne (Msat_Solver_t *p) |
DECLARATIONS ///. More... | |
static void | Msat_SolverCancel (Msat_Solver_t *p) |
static Msat_Clause_t * | Msat_SolverRecord (Msat_Solver_t *p, Msat_IntVec_t *vLits) |
static void | Msat_SolverAnalyze (Msat_Solver_t *p, Msat_Clause_t *pC, Msat_IntVec_t *vLits_out, int *pLevel_out) |
static void | Msat_SolverReduceDB (Msat_Solver_t *p) |
int | Msat_SolverAssume (Msat_Solver_t *p, Msat_Lit_t Lit) |
FUNCTION DEFINITIONS ///. More... | |
void | Msat_SolverCancelUntil (Msat_Solver_t *p, int Level) |
int | Msat_SolverEnqueue (Msat_Solver_t *p, Msat_Lit_t Lit, Msat_Clause_t *pC) |
Msat_Clause_t * | Msat_SolverPropagate (Msat_Solver_t *p) |
int | Msat_SolverSimplifyDB (Msat_Solver_t *p) |
void | Msat_SolverRemoveLearned (Msat_Solver_t *p) |
void | Msat_SolverRemoveMarked (Msat_Solver_t *p) |
Msat_Type_t | Msat_SolverSearch (Msat_Solver_t *p, int nConfLimit, int nLearnedLimit, int nBackTrackLimit, Msat_SearchParams_t *pPars) |
|
static |
Function*************************************************************
Synopsis [Analyze conflict and produce a reason clause.]
Description [Current decision level must be greater than root level.]
SideEffects [vLits_out[0] is the asserting literal at level pLevel_out.]
SeeAlso []
Definition at line 455 of file msatSolverSearch.c.
int Msat_SolverAssume | ( | Msat_Solver_t * | p, |
Msat_Lit_t | Lit | ||
) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Makes the next assumption (Lit).]
Description [Returns FALSE if immediate conflict.]
SideEffects []
SeeAlso []
Definition at line 51 of file msatSolverSearch.c.
|
static |
Function*************************************************************
Synopsis [Reverts to the state before last Msat_SolverAssume().]
Description []
SideEffects []
SeeAlso []
Definition at line 100 of file msatSolverSearch.c.
void Msat_SolverCancelUntil | ( | Msat_Solver_t * | p, |
int | Level | ||
) |
Function*************************************************************
Synopsis [Reverts to the state at given level.]
Description []
SideEffects []
SeeAlso []
Definition at line 128 of file msatSolverSearch.c.
int Msat_SolverEnqueue | ( | Msat_Solver_t * | p, |
Msat_Lit_t | Lit, | ||
Msat_Clause_t * | pC | ||
) |
Function*************************************************************
Synopsis [Enqueues one variable assignment.]
Description [Puts a new fact on the propagation queue and immediately updates the variable value. Should a conflict arise, FALSE is returned. Otherwise returns TRUE.]
SideEffects []
SeeAlso []
Definition at line 173 of file msatSolverSearch.c.
Msat_Clause_t* Msat_SolverPropagate | ( | Msat_Solver_t * | p | ) |
Function*************************************************************
Synopsis [Propagates the assignments in the queue.]
Description [Propagates all enqueued facts. If a conflict arises, the conflicting clause is returned, otherwise NULL.]
SideEffects [The propagation queue is empty, even if there was a conflict.]
SeeAlso []
Definition at line 217 of file msatSolverSearch.c.
|
static |
Function*************************************************************
Synopsis [Record a clause and drive backtracking.]
Description [vLits[0] must contain the asserting literal.]
SideEffects []
SeeAlso []
Definition at line 146 of file msatSolverSearch.c.
|
static |
Function*************************************************************
Synopsis [Cleans the clause databased from the useless learnt clauses.]
Description [Removes half of the learnt clauses, minus the clauses locked by the current assignment. Locked clauses are clauses that are reason to a some assignment.]
SideEffects []
SeeAlso []
Definition at line 332 of file msatSolverSearch.c.
void Msat_SolverRemoveLearned | ( | Msat_Solver_t * | p | ) |
Function*************************************************************
Synopsis [Removes the learned clauses.]
Description []
SideEffects []
SeeAlso []
Definition at line 371 of file msatSolverSearch.c.
void Msat_SolverRemoveMarked | ( | Msat_Solver_t * | p | ) |
Function*************************************************************
Synopsis [Removes the recently added clauses.]
Description []
SideEffects []
SeeAlso []
Definition at line 403 of file msatSolverSearch.c.
Msat_Type_t Msat_SolverSearch | ( | Msat_Solver_t * | p, |
int | nConfLimit, | ||
int | nLearnedLimit, | ||
int | nBackTrackLimit, | ||
Msat_SearchParams_t * | pPars | ||
) |
Function*************************************************************
Synopsis [The search procedure called between the restarts.]
Description [Search for a satisfying solution as long as the number of conflicts does not exceed the limit (nConfLimit) while keeping the number of learnt clauses below the provided limit (nLearnedLimit). NOTE! Use negative value for nConfLimit or nLearnedLimit to indicate infinity.]
SideEffects []
SeeAlso []
Definition at line 535 of file msatSolverSearch.c.
int Msat_SolverSimplifyDB | ( | Msat_Solver_t * | p | ) |
Function*************************************************************
Synopsis [Simplifies the data base.]
Description [Simplify all constraints according to the current top-level assigment (redundant constraints may be removed altogether).]
SideEffects []
SeeAlso []
Definition at line 282 of file msatSolverSearch.c.
|
static |
DECLARATIONS ///.
CFile****************************************************************
FileName [msatSolverSearch.c]
PackageName [A C version of SAT solver MINISAT, originally developed in C++ by Niklas Een and Niklas Sorensson, Chalmers University of Technology, Sweden: http://www.cs.chalmers.se/~een/Satzoo.]
Synopsis [The search part of the solver.]
Author [Alan Mishchenko alanm] i@ee cs.be rkel ey.ed u
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - January 1, 2004.]
Revision [
]
Function*************************************************************
Synopsis [Reverts one variable binding on the trail.]
Description []
SideEffects []
SeeAlso []
Definition at line 73 of file msatSolverSearch.c.