Class CachedAssignment

Class Documentation

class CachedAssignment

Public Functions

CachedAssignment()
void Sort()

Sort the list of literals for easier management.

void IncreaseSize(VariableIndex size_adder)

Increases the size of the literals list by the specified amount.

Parameters
  • size_adder: The amount the literals list will be increased.

const std::vector<VariableIndex> vars()

Add the specified literal to the list of literals in the cache assignment.

Builds a list of variables in the cached assignment.

Parameters
  • lit: New literal value. Variable List Extractor

Return
List of variable numbers in this assignment.

const VariableIndex num_components() const

Stores the total number of components that make up this cached assignment.

Return
Number of different components that make up this assignment.

const bool empty() const

An empty assignment has no associated components.

Return
true if the assignment is empty.

void ProcessComponent(const Component *comp, mpz_class model_count_and_assn)

Processes a cached component and incorporates its information into the cached assignment.

Parameters
  • comp: Component to be processed
  • model_count_and_assn: Component unshifted model count. It contains the component assignment in the lower n bits where n is the number of bits in the component.

const std::vector<LiteralID> &literals() const

Accessor for the literals in the cached assignment.

Return
List of literals in the cached assignment.

const std::vector<VariableIndex> &emancipated_vars() const

Accessor for get the set of emancipated variabes in this cached assignment.

Return
Emancipated variables in the cached assignment.

void clear()

Resets the component and deletes all associated component assignment information including the number of components and the assigned literals.