spot: Add Picosat to Spot library & Update satsolver class

* Makefile.am: Add picosat to subdirs.
* configure.ac: Add picosat/Makefile to AC_CONFIG_FILES.
* README: Add picosat/ in the list of directories.
* debian/copyright: Add picosat licence and details.
* picosat/Makefile.am: Implement Makefile.am in picosat directory.
* spot/Makefile.am: Tell the compiler to add libpico.la into libspot.la.
* picosat/LICENSE: Add picosat licence.
* picosat/NEWS: Add picosat NEWS.
* picosat/VERSION: Add picosat VERSION.
* picosat/picosat.c: Add picosat c file.
* picosat/picosat.h: Add picosat header file.
* spot/misc/satsolver.cc: Update functions.
* spot/misc/satsolver.hh: Add documentation, clean code, change
some functions visibility and separate templates functions.
* spot/twaalgos/dtbasat.cc: Update dtba_to_sat function.
* spot/twaalgos/dtwasat.cc: Update dtwa_to_sat function.
This commit is contained in:
Alexandre GBAGUIDI AISSE 2016-09-13 16:47:29 +02:00
parent 596bdec910
commit 32f040fa45
15 changed files with 9678 additions and 164 deletions

View file

@ -598,7 +598,7 @@ namespace spot
typedef std::pair<int, int> sat_stats;
static
sat_stats dtwa_to_sat(satsolver solver, const_twa_graph_ptr ref,
sat_stats dtwa_to_sat(satsolver& solver, const_twa_graph_ptr ref,
dict& d, bool state_based, bool colored)
{
#if DEBUG
@ -628,9 +628,11 @@ namespace spot
// Number all the SAT variables we may need.
unsigned ref_size = declare_vars(ref, d, ap, state_based, sm);
// Tell the satsolver the number of variables
solver.adjust_nvars(d.nvars);
// empty automaton is impossible
if (d.cand_size == 0)
return solver.stats();
assert(d.cand_size > 0);
#if DEBUG
debug_ref_acc = &ref->acc();
@ -995,7 +997,7 @@ namespace spot
}
}
}
return solver.stats(d.nvars);
return solver.stats();
}
static twa_graph_ptr