Use pointers to refer to clauses for better performance

This commit is contained in:
Tiago Gomes
2012-12-08 19:17:19 +00:00
parent 73b3594c97
commit 4edbcf86b8
4 changed files with 185 additions and 155 deletions

View File

@@ -74,6 +74,10 @@ class Clause
void addLiteral (const Literal& l) { literals_.push_back (l); }
const Literals& literals (void) const { return literals_; }
Literals& literals (void) { return literals_; }
size_t nrLiterals (void) const { return literals_.size(); }
const ConstraintTree& constr (void) const { return constr_; }
@@ -129,7 +133,7 @@ class Clause
static bool independentClauses (Clause& c1, Clause& c2);
static void printClauses (const vector<Clause>& clauses);
static void printClauses (const vector<Clause*>& clauses);
friend std::ostream& operator<< (ostream &os, const Clause& clause);
@@ -143,7 +147,7 @@ class Clause
ConstraintTree constr_;
};
typedef vector<Clause> Clauses;
typedef vector<Clause*> Clauses;
@@ -199,7 +203,7 @@ class LiftedWCNF
vector<LiteralId> prvGroupLiterals (PrvGroup prvGroup);
Clause createClause (LiteralId lid) const;
Clause* createClause (LiteralId lid) const;
void printFormulaIndicators (void) const;