
Go to the source code of this file.
Macros | |
| #define | MSAT_VAR2LIT(v, s) |
| #define | MSAT_LITNOT(l) |
| #define | MSAT_LITSIGN(l) |
| #define | MSAT_LIT2VAR(l) |
Typedefs | |
| typedef typedefABC_NAMESPACE_HEADER_START struct Msat_Solver_t_ | Msat_Solver_t |
| INCLUDES ///. | |
| typedef struct Msat_IntVec_t_ | Msat_IntVec_t |
| typedef struct Msat_ClauseVec_t_ | Msat_ClauseVec_t |
| typedef struct Msat_VarHeap_t_ | Msat_VarHeap_t |
Enumerations | |
| enum | Msat_Type_t { MSAT_FALSE = -1 , MSAT_UNKNOWN = 0 , MSAT_TRUE = 1 } |
| typedef struct Msat_ClauseVec_t_ Msat_ClauseVec_t |
| typedef struct Msat_IntVec_t_ Msat_IntVec_t |
| typedef typedefABC_NAMESPACE_HEADER_START struct Msat_Solver_t_ Msat_Solver_t |
INCLUDES ///.
CFile****************************************************************
FileName [msat.h]
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 [External definitions of the solver.]
Author [Alan Mishchenko alanm.nosp@m.i@ee.nosp@m.cs.be.nosp@m.rkel.nosp@m.ey.ed.nosp@m.u]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - January 1, 2004.]
Revision [
] PARAMETERS /// STRUCTURE DEFINITIONS ///
| typedef struct Msat_VarHeap_t_ Msat_VarHeap_t |
| enum Msat_Type_t |
|
extern |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Allocates a vector with the given capacity.]
Description []
SideEffects []
SeeAlso []
Definition at line 48 of file msatVec.c.

|
extern |
|
extern |
Function*************************************************************
Synopsis [Creates the vector from an integer array of the given size.]
Description []
SideEffects []
SeeAlso []
Definition at line 92 of file msatVec.c.

|
extern |
|
extern |
|
extern |
Function*************************************************************
Synopsis [Transfers the array into another vector.]
Description []
SideEffects []
SeeAlso []
|
extern |
Function*************************************************************
Synopsis [Fills the vector with given number of entries.]
Description []
SideEffects []
SeeAlso []
Definition at line 177 of file msatVec.c.


|
extern |
|
extern |
|
extern |
Function*************************************************************
Synopsis [Returns the last entry and removes it from the list.]
Description []
SideEffects []
SeeAlso []
|
extern |
|
extern |
Function*************************************************************
Synopsis [Add the element while ensuring uniqueness.]
Description [Returns 1 if the element was found, and 0 if it was new. ]
SideEffects []
SeeAlso []
Definition at line 374 of file msatVec.c.


|
extern |
Function*************************************************************
Synopsis [Inserts the element while sorting in the increasing order.]
Description []
SideEffects []
SeeAlso []
Definition at line 395 of file msatVec.c.

|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
Function*************************************************************
Synopsis [Sorting the entries by their integer value.]
Description []
SideEffects []
SeeAlso []
Definition at line 442 of file msatVec.c.

|
extern |
|
extern |
Function*************************************************************
Synopsis [Adds one clause to the solver's clause database.]
Description []
SideEffects []
SeeAlso []
Definition at line 65 of file msatSolverCore.c.


|
extern |
DECLARATIONS ///.
CFile****************************************************************
FileName [msatSolverCore.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 SAT solver core procedures.]
Author [Alan Mishchenko alanm.nosp@m.i@ee.nosp@m.cs.be.nosp@m.rkel.nosp@m.ey.ed.nosp@m.u]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - January 1, 2004.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Adds one variable to the solver.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file msatSolverCore.c.


|
extern |
Function*************************************************************
Synopsis [Allocates the solver.]
Description [After the solver is allocated, the procedure Msat_SolverClean() should be called to set the number of variables.]
SideEffects []
SeeAlso []
Definition at line 154 of file msatSolverApi.c.


|
extern |
Function*************************************************************
Synopsis [Prepares the solver.]
Description [Cleans the solver assuming that the problem will involve the given number of variables (nVars). This procedure is useful for many small (incremental) SAT problems, to prevent the solver from being reallocated each time.]
SideEffects []
SeeAlso []
Definition at line 307 of file msatSolverApi.c.

|
extern |
Function*************************************************************
Synopsis [Frees the solver.]
Description []
SideEffects []
SeeAlso []
Definition at line 386 of file msatSolverApi.c.


|
extern |
|
extern |
Definition at line 68 of file msatSolverApi.c.

|
extern |
GLOBAL VARIABLES ///.
MACRO DEFINITIONS /// FUNCTION DECLARATIONS ///
Function*************************************************************
Synopsis [Starts the solver and reads the DIMAC file.]
Description [Returns FALSE upon immediate conflict.]
SideEffects []
SeeAlso []
Definition at line 258 of file msatRead.c.
|
extern |
Function*************************************************************
Synopsis [Prepares the solver to run on a subset of variables.]
Description []
SideEffects []
SeeAlso []
Definition at line 451 of file msatSolverApi.c.


|
extern |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 47 of file msatSolverIo.c.
|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 79 of file msatSolverIo.c.

|
extern |
Function*************************************************************
Synopsis [Prints statistics about the solver.]
Description []
SideEffects []
SeeAlso []
Definition at line 110 of file msatSolverCore.c.


|
extern |
Function*************************************************************
Synopsis [Reads the clause with the given number.]
Description []
SideEffects []
SeeAlso []
Definition at line 104 of file msatSolverApi.c.

|
extern |
|
extern |
|
extern |
Definition at line 48 of file msatSolverApi.c.
|
extern |
Function*************************************************************
Synopsis [Reads the clause with the given number.]
Description []
SideEffects []
SeeAlso []
Definition at line 120 of file msatSolverApi.c.

|
extern |
Definition at line 70 of file msatSolverApi.c.
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
Definition at line 49 of file msatSolverApi.c.
|
extern |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Simple SAT solver APIs.]
Description []
SideEffects []
SeeAlso []
Definition at line 47 of file msatSolverApi.c.

|
extern |
Function*************************************************************
Synopsis [Reads the clause with the given number.]
Description []
SideEffects []
SeeAlso []
Definition at line 136 of file msatSolverApi.c.

|
extern |
Function*************************************************************
Synopsis [Removes the learned clauses.]
Description []
SideEffects []
SeeAlso []
Definition at line 371 of file msatSolverSearch.c.

|
extern |
Function*************************************************************
Synopsis [Removes the recently added clauses.]
Description []
SideEffects []
SeeAlso []
Definition at line 403 of file msatSolverSearch.c.

|
extern |
Function*************************************************************
Synopsis [Resizes the solver.]
Description [Assumes that the solver contains some clauses, and that it is currently between the calls. Resizes the solver to accomodate more variables.]
SideEffects []
SeeAlso []
Definition at line 242 of file msatSolverApi.c.


|
extern |
|
extern |
|
extern |
|
extern |
Definition at line 63 of file msatSolverApi.c.
|
extern |
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.

|
extern |
Function*************************************************************
Synopsis [Top-level solve.]
Description [If using assumptions (non-empty 'assumps' vector), you must call 'simplifyDB()' first to see that no top-level conflict is present (which would put the solver in an undefined state. If the last argument is given (vProj), the solver enumerates through the satisfying solutions, which are projected on the variables listed in this array. Note that the variables in the array may be complemented, in which case the derived assignment for the variable is complemented.]
SideEffects []
SeeAlso []
Definition at line 138 of file msatSolverCore.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 118 of file msatSolverIo.c.

|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |