Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
abc
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
abc
Commits
09d3e1ff
Commit
09d3e1ff
authored
Dec 04, 2011
by
Alan Mishchenko
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Proof-logging in the updated solver.
parent
a7031bb3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
36 additions
and
28 deletions
+36
-28
src/aig/fra/fraCec.c
+2
-2
src/sat/bsat/satSolver.h
+2
-2
src/sat/bsat/satSolver2.c
+0
-0
src/sat/bsat/satSolver2.h
+21
-10
src/sat/bsat/satUtil.c
+8
-9
src/sat/bsat/satVec.h
+3
-5
No files found.
src/aig/fra/fraCec.c
View file @
09d3e1ff
...
...
@@ -105,8 +105,8 @@ int Fra_FraigSat( Aig_Man_t * pMan, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimi
// simplify the problem
clk
=
clock
();
status
=
sat_solver2_simplify
(
pSat
);
printf
(
"Simplified the problem to %d variables and %d clauses. "
,
sat_solver2_nvars
(
pSat
),
sat_solver2_nclauses
(
pSat
)
);
ABC_PRT
(
"Time"
,
clock
()
-
clk
);
//
printf( "Simplified the problem to %d variables and %d clauses. ", sat_solver2_nvars(pSat), sat_solver2_nclauses(pSat) );
//
ABC_PRT( "Time", clock() - clk );
if
(
status
==
0
)
{
Vec_IntFree
(
vCiIds
);
...
...
src/sat/bsat/satSolver.h
View file @
09d3e1ff
...
...
@@ -113,8 +113,8 @@ extern void * sat_solver_store_release( sat_solver * s );
//=================================================================================================
// Solver representation:
//
struct clause_t;
//
typedef struct clause_t clause;
struct
clause_t
;
typedef
struct
clause_t
clause
;
struct
sat_solver_t
{
...
...
src/sat/bsat/satSolver2.c
View file @
09d3e1ff
This diff is collapsed.
Click to expand it.
src/sat/bsat/satSolver2.h
View file @
09d3e1ff
...
...
@@ -32,7 +32,7 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA
ABC_NAMESPACE_HEADER_START
//#define USE_FLOAT_ACTIVITY
//=================================================================================================
// Public interface:
...
...
@@ -70,9 +70,6 @@ extern void * sat_solver2_store_release( sat_solver2 * s );
//=================================================================================================
// Solver representation:
//struct clause_t;
//typedef struct clause_t clause;
struct
varinfo_t
;
typedef
struct
varinfo_t
varinfo
;
...
...
@@ -91,21 +88,26 @@ struct sat_solver2_t
int
verbosity
;
// Verbosity level. 0=silent, 1=some progress report, 2=everything
int
fNotUseRandom
;
// do not allow random decisions with a fixed probability
// int fSkipSimplify; // set to one to skip simplification of the clause database
int
fProofLogging
;
// enable proof-logging
// clauses
veci
clauses
;
// clause memory
veci
*
wlists
;
// watcher lists (for each literal)
int
iLearnt
;
// the first learnt clause
int
iLast
;
// the last learnt clause
veci
*
wlists
;
// watcher lists (for each literal)
// clause memory
int
*
pMemArray
;
int
nMemAlloc
;
int
nMemSize
;
// activities
#ifdef USE_FLOAT_ACTIVITY
double
var_inc
;
// Amount to bump next variable with.
double
var_decay
;
// INVERSE decay factor for variable activity: stores 1/decay.
float
cla_inc
;
// Amount to bump next clause with.
float
cla_decay
;
// INVERSE decay factor for clause activity: stores 1/decay.
double
*
activity
;
// A heuristic measurement of the activity of a variable.
#else
int
var_inc
;
// Amount to bump next variable with.
int
cla_inc
;
// Amount to bump next clause with.
unsigned
*
activity
;
// A heuristic measurement of the activity of a variable.
#endif
veci
claActs
;
// clause activities
veci
claProofs
;
// clause proofs
...
...
@@ -123,6 +125,15 @@ struct sat_solver2_t
veci
model
;
// If problem is solved, this vector contains the model (contains: lbool).
veci
conf_final
;
// If problem is unsatisfiable (possibly under assumptions),
// this vector represent the final conflict clause expressed in the assumptions.
veci
mark_levels
;
// temporary storage for labeled levels
veci
min_lit_order
;
// ordering of removable literals
veci
min_step_order
;
// ordering of resolution steps
// proof logging
veci
proof_clas
;
// sequence of proof clauses
veci
proof_vars
;
// sequence of proof variables
int
iStartChain
;
// beginning of the chain
// statistics
stats_t
stats
;
ABC_INT64_T
nConfLimit
;
// external limit on the number of conflicts
...
...
src/sat/bsat/satUtil.c
View file @
09d3e1ff
...
...
@@ -169,16 +169,15 @@ void Sat_SolverPrintStats( FILE * pFile, sat_solver * p )
SeeAlso []
***********************************************************************/
void
Sat_Solver2PrintStats
(
FILE
*
pFile
,
sat_solver2
*
p
)
void
Sat_Solver2PrintStats
(
FILE
*
pFile
,
sat_solver2
*
s
)
{
// printf( "calls : %10d (%d)\n", (int)p->nCalls, (int)p->nCalls2 );
printf
(
"starts : %10d
\n
"
,
(
int
)
p
->
stats
.
starts
);
printf
(
"conflicts : %10d
\n
"
,
(
int
)
p
->
stats
.
conflicts
);
printf
(
"decisions : %10d
\n
"
,
(
int
)
p
->
stats
.
decisions
);
printf
(
"propagations : %10d
\n
"
,
(
int
)
p
->
stats
.
propagations
);
// printf( "inspects : %10d\n", (int)p->stats.inspects );
// printf( "inspects2 : %10d\n", (int)p->stats.inspects2 );
printf
(
"memory : %10d
\n
"
,
p
->
nMemSize
);
printf
(
"starts : %10d
\n
"
,
(
int
)
s
->
stats
.
starts
);
printf
(
"conflicts : %10d
\n
"
,
(
int
)
s
->
stats
.
conflicts
);
printf
(
"decisions : %10d
\n
"
,
(
int
)
s
->
stats
.
decisions
);
printf
(
"propagations : %10d
\n
"
,
(
int
)
s
->
stats
.
propagations
);
// printf( "inspects : %10d\n", (int)s->stats.inspects );
// printf( "inspects2 : %10d\n", (int)s->stats.inspects2 );
printf
(
"memory : %10d
\n
"
,
veci_size
(
&
s
->
clauses
)
);
}
/**Function*************************************************************
...
...
src/sat/bsat/satVec.h
View file @
09d3e1ff
...
...
@@ -44,7 +44,8 @@ static inline void veci_new (veci* v) {
static
inline
void
veci_delete
(
veci
*
v
)
{
ABC_FREE
(
v
->
ptr
);
}
static
inline
int
*
veci_begin
(
veci
*
v
)
{
return
v
->
ptr
;
}
static
inline
int
veci_size
(
veci
*
v
)
{
return
v
->
size
;
}
static
inline
void
veci_resize
(
veci
*
v
,
int
k
)
{
v
->
size
=
k
;
}
// only safe to shrink !!
static
inline
void
veci_resize
(
veci
*
v
,
int
k
)
{
assert
(
k
<=
v
->
size
);
v
->
size
=
k
;
}
// only safe to shrink !!
static
inline
int
veci_pop
(
veci
*
v
)
{
assert
(
v
->
size
);
return
v
->
ptr
[
--
v
->
size
];
}
static
inline
void
veci_push
(
veci
*
v
,
int
e
)
{
if
(
v
->
size
==
v
->
cap
)
{
...
...
@@ -82,7 +83,7 @@ static inline void vecp_new (vecp* v) {
static
inline
void
vecp_delete
(
vecp
*
v
)
{
ABC_FREE
(
v
->
ptr
);
}
static
inline
void
**
vecp_begin
(
vecp
*
v
)
{
return
v
->
ptr
;
}
static
inline
int
vecp_size
(
vecp
*
v
)
{
return
v
->
size
;
}
static
inline
void
vecp_resize
(
vecp
*
v
,
int
k
)
{
v
->
size
=
k
;
}
// only safe to shrink !!
static
inline
void
vecp_resize
(
vecp
*
v
,
int
k
)
{
assert
(
k
<=
v
->
size
);
v
->
size
=
k
;
}
// only safe to shrink !!
static
inline
void
vecp_push
(
vecp
*
v
,
void
*
e
)
{
if
(
v
->
size
==
v
->
cap
)
{
...
...
@@ -143,9 +144,6 @@ struct stats_t
};
typedef
struct
stats_t
stats_t
;
struct
clause_t
;
typedef
struct
clause_t
clause
;
ABC_NAMESPACE_HEADER_END
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment