A cube represents a partial assignment of variables in a Bdd. They are useful alternative to BddValuation, which always needs to fix all variables. In particular, they are useful for quickly building Bdd objects from AND-clauses (e.g. x && !y && z), and for inspecting contents of a Bdd (e.g. min_cube and max_cube).
Before merging, we should make sure the API is ok as is (i.e. we are not missing some obviously useful methods - for example a way to create a BddCube from iterator or something like that) and that everything is properly documented. Also, we should update the branch from master.
A cube represents a partial assignment of variables in a
Bdd
. They are useful alternative toBddValuation
, which always needs to fix all variables. In particular, they are useful for quickly buildingBdd
objects from AND-clauses (e.g.x && !y && z
), and for inspecting contents of aBdd
(e.g.min_cube
andmax_cube
).Before merging, we should make sure the API is ok as is (i.e. we are not missing some obviously useful methods - for example a way to create a
BddCube
from iterator or something like that) and that everything is properly documented. Also, we should update the branch from master.