|
CIRCT 22.0.0git
|
Represents a product term (cube) in a sum-of-products expression. More...
#include <TruthTable.h>

Public Member Functions | |
| Cube ()=default | |
| unsigned | size () const |
| Get number of literals in this cube. | |
| bool | hasLiteral (unsigned varIndex) const |
| Has literal for variable at index varIndex. | |
| void | setLiteral (unsigned varIndex, bool isInverted) |
| void | removeLiteral (unsigned varIndex) |
| bool | isLiteralInverted (unsigned varIndex) const |
Public Attributes | |
| uint64_t | mask = 0 |
| Bitmask indicating which variables appear in this cube. | |
| uint64_t | inverted = 0 |
| Bitmask indicating which variables are negated. | |
Represents a product term (cube) in a sum-of-products expression.
Each cube is a conjunction of literals (variables or their negations). Assumes number of variables is less than 64.
Definition at line 216 of file TruthTable.h.
|
default |
|
inline |
Has literal for variable at index varIndex.
Definition at line 228 of file TruthTable.h.
References mask.
|
inline |
Definition at line 244 of file TruthTable.h.
References inverted.
|
inline |
Definition at line 238 of file TruthTable.h.
|
inline |
Definition at line 232 of file TruthTable.h.
|
inline |
Get number of literals in this cube.
Definition at line 225 of file TruthTable.h.
References mask.
Referenced by esiaccel.types.ArrayType::bit_width(), esiaccel.types.ArrayType::deserialize(), and esiaccel.types.ArrayType::is_valid().
| uint64_t circt::Cube::inverted = 0 |
Bitmask indicating which variables are negated.
Definition at line 220 of file TruthTable.h.
Referenced by isLiteralInverted(), removeLiteral(), and setLiteral().
| uint64_t circt::Cube::mask = 0 |
Bitmask indicating which variables appear in this cube.
Definition at line 218 of file TruthTable.h.
Referenced by hasLiteral(), removeLiteral(), setLiteral(), and size().