summaryrefslogtreecommitdiff
path: root/src/prop/bvminisat/bvminisat.cpp
AgeCommit message (Collapse)Author
2018-06-25Updated copyright headers.Aina Niemetz
2018-03-26Fix memory leak in bvminisat (#1710)Andres Noetzli
While reviewing #1695, I realized that bvminisat is leaking memory for each call to setNotify(). This commit uses std::unique_ptr to fix the issue. It also adds std::unique_ptr to manage d_minisat.
2018-03-06Make statistics output consistent. (#1647)Mathias Preiner
* Fixes --hide-zero-stats (and really skips the 0 values) * Removes the additional newline after each statistic * Introduces theory::getStatsPrefix(TheoryId) to generate consistent prefixes for statistics based on the theory id (e.g., THEORY_BV -> "theory::bv").
2017-12-06Fixed time stats for MiniSat solve time. (#1431)Aina Niemetz
Also, moved implementation of BVMinisatSatSolver::MinisatNotify::notify to .cpp file.
2017-07-07Update copyright headers.Mathias Preiner
2017-07-07Use new copyright header format.Mathias Preiner
2016-09-01Relaxing the throw specifiers for the destructors for Node, TypeNode, the ↵Tim King
context/ classes, and their subclasses. Fixes compilation issues with clang 3.5 and -std=c++11 'exception specification of overriding function is more lax than base version' for a couple of different classes.
2016-02-24Unifying the definitions of ClauseId to a single source of truth.Tim King
2016-01-26Merged bit-vector and uf proof branch.Liana Hadarean
2016-01-08Removing StatisticsRegistry's static functions current() and registerStat().Tim King
- The functionality the get the StatisticsRegistry attached to the SmtEngine was previously through StatisticsRegistry::current(). This is the dominant StatisticsRegistry in the code. (There is another StatisticsRegistry attached to the NodeManager.) Having this be a static function on StatisticsRegistry requires the use of an SmtEngine in the wrong compilation unit. - Usages of StatisticsRegistry::current() that were visible in prop/{bvminisat,minisat} has been removed. A pointer to the relevant StatisticsRegistry should be passed instead into the constructor. - The function StatisticsRegistry::current() has been replaced by SmtScope::currentStatisticsRegistry(). SmtScope is in the libcvc4 package, where SmtEngine is available in the compilation unit. - The function smtStatisticsRegistry() is a synonym for SmtScope::currentStatisticsRegistry() in smt/smt_statistics_registry.h. This header has fewer include dependencies than the one for SmtScope. - Correspondingly, the static functions StatisticsRegistry::{registerStat, unregisterStat} have been removed. One should instead use smtStatisticsRegistry()->{registerStat,unregisterStat} instead. - The KEEP_STATISTIC macro has been moved into smt/smt_statistics_registry.h. - Documents the reason StatisticsRegistry is CVC4_PUBLIC. This lets me remove the warning I added. - Removing most operators for timespec from statistics_registry.h file. These a bit error prone in clang. - Most of the really confusing ifdef's in util/statistics_registry.h are gone.
2014-11-18All Minisat solve calls now return lbool (fixes bug 599)lianah
2014-11-17Resource-limiting work.Liana Hadarean
Signed-off-by: Morgan Deters <mdeters@cs.nyu.edu>
2014-10-06Fix a resource limiting issue where interruption didn't occur promptly. ↵Morgan Deters
Thanks Johannes Kanig for the report.
2014-08-22Unsat core infrastruture and API (SMT-LIB compliance to come).Morgan Deters
2014-08-04Better support for resource-limiting when there aren't any actual conflicts.Morgan Deters
2014-06-21Fix compiler warnings in BV-related code (unused vars mostly).Morgan Deters
2014-06-10Merging CAV14 paper bit-vector work.lianah
2013-04-30added several rewrite rules (BitwiseSlicing, Ule/SleEliminate, ↵lianah
ExtractSignExtend) and bvurem lemma
2013-04-30added bvule, bvsle operator elimination rulesl; added bvurem lemma generationlianah
2013-04-03* changing the bitblast-eager to bitblast on pre-registerDejan Jovanović
* the newVar interface of the sat solver now changed to include (isTheoryLiteral, preRegister, canEliminate) * when bitblast-eager all bv atoms are (theory=false, prereg = true, canelim = true) * bitblast-eager implies decision=internal
2012-06-14fixing the problems with the bvminisat. there was a case when things would ↵Dejan Jovanović
get bitblasted, it would restart to add the clauses, and loose propagation information.
2012-05-09* simplifying equality engine interfaceDejan Jovanović
* notifications are now through the interface subclass instead of a template * notifications include constants being merged * changed contextNotifyObj::notify to contextNotifyObj::contextNotifyPop so it's more descriptive and doesn't clutter methods when subclassed * sat solver now has explicit methods to make true and false constants * 0-level literals are removed from explanations of propagations
2012-05-08Merging in bvprop branch, with proper bit-vector propagation. Liana Hadarean
This should also fix bug 325.
2012-04-04 * added propagation as lemmas to TheoryBV:Liana Hadarean
* modified BVMinisat to work incrementally * added more bv regressions
2012-03-28Some renaming and refactoring in SATDejan Jovanović
2012-03-26More cleaning up.Dejan Jovanović
2012-03-26more datail from the build failureDejan Jovanović
2012-03-25moving minisat implementation into their respective directories (regular and bv)Dejan Jovanović
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback