Class LiteralID

Class Documentation

class LiteralID

Public Functions

LiteralID()

Initializes the literal to negated and ID 0.

LiteralID(int lit)

Converts a literal number into a literal ID. The absolute value of the passed literal ID is the variable number. The sign represents whether the literal is negated or non-negated.

Parameters
  • lit: Literal ID with a negative number representing a negated literal

LiteralID(VariableIndex var, bool sign)

Build a literal from the variable ID and a sign term.

Parameters
  • var: Variable identification number.
  • sign: true for a positive literal and false for a negative literal

VariableIndex var() const

Gets the variable identification number associated with the literal. It ignores the literal’s sign (i.e., negation/positive)

Return
Variable ID number

int toInt() const

Converts the literal into the form (sign)VariableNumber where sign is +/- depending whether the literal is negated.

Return
Signed version of the variable number.

void inc()

Increments the literal ID number. This may cause a negated literal to become positive or cause a positive literal’s ID to become the next negated literal.

void copyRaw(unsigned int v)

Sets the literal ID to the processed value. It does not process its integrity or correctness.

Parameters
  • v: New literal value

const bool sign() const

Returns whether the literal is positive or negated.

Return
True if the literal is positive (i.e., unnegated)

const bool operator!=(const LiteralID &rL2) const
const bool operator==(const LiteralID &rL2) const
const bool operator<(const LiteralID &rL2) const
const LiteralID neg() const

Creates a literal that has the opposite sign as the current literal. For example, if the implicit literal is negated, this returns a positive/unnegated literal. If it is positive, this function returns a negated literal.

Return
LiteralID of this literal just negated.

void print() const
unsigned raw() const

Accesses the raw value of how the literal is stored in the data structure.

Return
Unmodified verison of the data structure value