apply
fun <T : Comparable<T>> BinaryDecisionDiagram<T>.apply(unaryOp: (Boolean) -> Boolean): BinaryDecisionDiagram<T>
Applies the "Apply" construction algorithm over BinaryDecisionDiagrams using a given unary boolean operator. The result is a Reduced Ordered Binary Decision Diagram (ROBDD).
Return
the resulting ROBDD.
Parameters
unaryOp
the unary boolean operator to apply to each Terminal value of this diagram (e.g. { a -> !a } for not).
Throws
if construction fails, e.g. because unaryOp throws.
fun <T : Comparable<T>> BinaryDecisionDiagram<T>.apply(that: BinaryDecisionDiagram<T>, binaryOp: (Boolean, Boolean) -> Boolean): BinaryDecisionDiagram<T>
Applies the "Apply" construction algorithm over two BinaryDecisionDiagrams using a given binary boolean operator. The result is a Reduced Ordered Binary Decision Diagram (ROBDD).
Return
the resulting ROBDD.
Parameters
that
the other diagram to combine this one with.
Throws
if construction fails, e.g. because binaryOp throws.