summaryrefslogtreecommitdiffstats
path: root/src/sat/satoko
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2018-01-25 00:09:27 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2018-01-25 00:09:27 -0800
commite4cd0d60f1d2ecf8563c22b51519f3da0125d3be (patch)
treec9ab165249306cdea6e7acff77c2ef1d44e68698 /src/sat/satoko
parent066e8d1b173d11aeb837ffda56a8ba1bb7ddb214 (diff)
downloadabc-e4cd0d60f1d2ecf8563c22b51519f3da0125d3be.tar.gz
abc-e4cd0d60f1d2ecf8563c22b51519f3da0125d3be.tar.bz2
abc-e4cd0d60f1d2ecf8563c22b51519f3da0125d3be.zip
Experiments with SAT-based simulation.
Diffstat (limited to 'src/sat/satoko')
-rw-r--r--src/sat/satoko/satoko.h1
-rw-r--r--src/sat/satoko/solver.c1
-rw-r--r--src/sat/satoko/solver_api.c4
3 files changed, 5 insertions, 1 deletions
diff --git a/src/sat/satoko/satoko.h b/src/sat/satoko/satoko.h
index 7ee8cd85..347bd187 100644
--- a/src/sat/satoko/satoko.h
+++ b/src/sat/satoko/satoko.h
@@ -76,6 +76,7 @@ struct satoko_stats {
long n_decisions;
long n_propagations;
+ long n_propagations_all;
long n_inspects;
long n_conflicts;
long n_conflicts_all;
diff --git a/src/sat/satoko/solver.c b/src/sat/satoko/solver.c
index 6e58e8a5..6ea1a0b4 100644
--- a/src/sat/satoko/solver.c
+++ b/src/sat/satoko/solver.c
@@ -620,6 +620,7 @@ unsigned solver_propagate(solver_t *s)
watch_list_shrink(ws, j - watch_list_array(ws));
}
s->stats.n_propagations += n_propagations;
+ s->stats.n_propagations_all += n_propagations;
s->n_props_simplify -= n_propagations;
return conf_cref;
}
diff --git a/src/sat/satoko/solver_api.c b/src/sat/satoko/solver_api.c
index 79d48c3b..0193b1c3 100644
--- a/src/sat/satoko/solver_api.c
+++ b/src/sat/satoko/solver_api.c
@@ -45,9 +45,11 @@ static inline int clause_is_satisfied(solver_t *s, struct clause *clause)
static inline void solver_clean_stats(solver_t *s)
{
- int n_conflicts_all = s->stats.n_conflicts_all;
+ long n_conflicts_all = s->stats.n_conflicts_all;
+ long n_propagations_all = s->stats.n_propagations_all;
memset(&(s->stats), 0, sizeof(struct satoko_stats));
s->stats.n_conflicts_all = n_conflicts_all;
+ s->stats.n_propagations_all = n_propagations_all;
}
static inline void print_opts(solver_t *s)