#include <utility>
// BE VERY CAREFUL> Update the Category Names to match.
-std::string RunTimes::CategoryNames[] = { "Transforming", "Simplifying", "Parsing", "CNF Conversion", "Bit Blasting", "SAT Solving", "Bitvector Solving","Create SubstitutionMap"};
+std::string RunTimes::CategoryNames[] = { "Transforming", "Simplifying", "Parsing", "CNF Conversion", "Bit Blasting", "SAT Solving", "Bitvector Solving","Create SubstitutionMap", "Sending to SAT Solver"};
namespace BEEV
{
public:
enum Category
{
- Transforming = 0, SimplifyTopLevel, Parsing, CNFConversion, BitBlasting, Solving, BVSolver, CreateSubstitutionMap
+ Transforming = 0, SimplifyTopLevel, Parsing, CNFConversion, BitBlasting, Solving, BVSolver, CreateSubstitutionMap, SendingToSAT
};
static std::string CategoryNames[];
{
CountersAndStats("SAT Solver");
+ runTimes.start(RunTimes::SendingToSAT);
+
//iterate through the list (conjunction) of ASTclauses cll
BeevMgr::ClauseList::const_iterator i = cll.begin(), iend = cll.end();
{
//Clause for the SATSolver
MINISAT::vec<MINISAT::Lit> satSolverClause;
+ satSolverClause.capacity((*i)->size());
//now iterate through the internals of the ASTclause itself
vector<const ASTNode*>::const_iterator j = (*i)->begin(), jend = (*i)->end();
else
{
PrintStats(newS);
+ runTimes.stop(RunTimes::SendingToSAT);
return false;
}
-
- if (!newS.simplify())
- {
- PrintStats(newS);
- return false;
}
- }
+
+ runTimes.stop(RunTimes::SendingToSAT);
// if input is UNSAT return false, else return true
if (!newS.simplify())