Module assignment

Module assignment 

Source
Expand description

Represents the assignment of variables in a SAT solver. This module defines the Assignment trait and its implementations for managing variable states in the SAT solvers.

It provides a way to track whether variables are assigned true, false, or remain unassigned.

It includes two main implementations:

  • VecAssignment: Uses a Vec<VarState> for dense variable sets.
  • HashMapAssignment: Uses an FxHashMap<Variable, VarState> for sparse or non-contiguous variable sets.

The Assignment trait defines methods for setting, resetting, and querying variable states, as well as retrieving solutions in a format compatible with SAT solver outputs.

Structs§

HashMapAssignment
An implementation of Assignment using an FxHashMap<Variable, VarState>.
VecAssignment
An implementation of Assignment using a Vec<VarState>.

Enums§

AssignmentImpls
Defines an enumeration of the possible assignment types. Allows for a rough dynamic dispatch.
AssignmentType
An enumeration of the types of assignment implementations available.
VarState
Represents the assignment state of a propositional variable.

Traits§

Assignment
Trait defining the interface for managing variable assignments.