diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2017-09-06 20:33:53 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2017-09-06 20:33:53 -0700 |
commit | 3ffb098d645ad4c8aefc25bc27864a31c559dc2d (patch) | |
tree | 5cd47fb46188571901160c8b30a620c47e39a12b /src/sat/satoko | |
parent | 97dd6019bf58f12953364855dd7845e6e47eae57 (diff) | |
download | abc-3ffb098d645ad4c8aefc25bc27864a31c559dc2d.tar.gz abc-3ffb098d645ad4c8aefc25bc27864a31c559dc2d.tar.bz2 abc-3ffb098d645ad4c8aefc25bc27864a31c559dc2d.zip |
Adding global conflict counter to Satoko (to make it apple-to-apple with other solvers).
Diffstat (limited to 'src/sat/satoko')
-rw-r--r-- | src/sat/satoko/satoko.h | 1 | ||||
-rw-r--r-- | src/sat/satoko/solver.c | 1 | ||||
-rw-r--r-- | src/sat/satoko/solver_api.c | 4 |
3 files changed, 5 insertions, 1 deletions
diff --git a/src/sat/satoko/satoko.h b/src/sat/satoko/satoko.h index fb646c01..7ee8cd85 100644 --- a/src/sat/satoko/satoko.h +++ b/src/sat/satoko/satoko.h @@ -78,6 +78,7 @@ struct satoko_stats { long n_propagations; long n_inspects; long n_conflicts; + long n_conflicts_all; long n_original_lits; long n_learnt_lits; diff --git a/src/sat/satoko/solver.c b/src/sat/satoko/solver.c index 9f5d3424..6e58e8a5 100644 --- a/src/sat/satoko/solver.c +++ b/src/sat/satoko/solver.c @@ -631,6 +631,7 @@ char solver_search(solver_t *s) unsigned confl_cref = solver_propagate(s); if (confl_cref != UNDEF) { s->stats.n_conflicts++; + s->stats.n_conflicts_all++; if (solver_dlevel(s) == 0) return SATOKO_UNSAT; /* Restart heuristic */ diff --git a/src/sat/satoko/solver_api.c b/src/sat/satoko/solver_api.c index a0b26b5c..adf30cef 100644 --- a/src/sat/satoko/solver_api.c +++ b/src/sat/satoko/solver_api.c @@ -45,7 +45,9 @@ 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; memset(&(s->stats), 0, sizeof(struct satoko_stats)); + s->stats.n_conflicts_all = n_conflicts_all; } static inline void print_opts(solver_t *s) @@ -629,7 +631,7 @@ int satoko_learntnum(satoko_t *s) int satoko_conflictnum(satoko_t *s) { - return satoko_stats(s)->n_conflicts; + return satoko_stats(s)->n_conflicts_all; } void satoko_set_stop(satoko_t *s, int * pstop) |