3#include <unordered_set>
5using namespace painless;
8#define PLIT_IDX(LIT) (LIT * 2 - 2)
9#define NLIT_IDX(LIT) (-LIT * 2 - 1)
10#define LIT_IDX(LIT) (LIT > 0 ? PLIT_IDX(LIT) : NLIT_IDX(LIT))
11#define IDX_LIT(IDX) (((IDX)&1) ? -(((IDX) + 1) >> 1) : (((IDX) >> 1) + 1))
75 void setVarCount(
unsigned int varCount) { this->varCount = varCount; }
101 const std::unordered_set<int>&
getUnits()
const {
return this->units; }
107 std::unordered_set<int>&
getUnits() {
return this->units; }
143 std::unordered_set<int> units;
145 std::vector<std::vector<unsigned int>> occurenceLists;
146 unsigned int varCount = 0;
147 unsigned int deletedClausesCount = 0;
A span-like container that skips zero elements when iterating.
Definition vector2D.hpp:27
A 2D vector implementation optimized for sparse data.
Definition vector2D.hpp:175
row_size_t getRowsCount() const
Gets the number of rows in the 2D vector.
Definition vector2D.hpp:232
row_size_t getRowSize(row_id_t id) const
Gets the size of a specific row.
Definition vector2D.hpp:329