public final class SDDTreeConjunction extends CanonicalWatched implements java.lang.Comparable<SDDTreeConjunction>
SDDTreeConjunction, i.e., an SDD Tree Conjunction,
aka a decomposition element, is a pair of SDDs defined as a conjunction
and that are defined on two different (non overlapping) sets of variables.
These sets of variables are chosen according to a Vtree
that is implicit at the creation of the element.
The first SDD of the decomposition element is called the prime
and cannot be SDDConstant.getFalse();
the second one is the sub.
Decomposition elements are generally gathered around
an SDD Tree Disjunction
that has the following properties:
| Modifier and Type | Method and Description |
|---|---|
int |
compareTo(SDDTreeConjunction t) |
static SDDTreeConjunction |
create(SDDTree prime,
SDDTree sub)
Creates the SDD tree conjunction
corresponding to the specified primes and subs.
|
protected void |
destroy()
Notifies this object that it is no longer referenced.
|
protected boolean |
equivalent(java.lang.Object obj)
Indicates whether the specified object
is equivalent to this object.
|
protected java.util.Map<java.lang.Object,SDDTreeConjunction> |
getBuffer()
Returns the buffer that is used to decide the canonical objects.
|
SDDTree |
getPrime()
Returns the prime of this conjunction.
|
SDDTree |
getSub()
Returns the sub of this conjunction.
|
int |
hashCode() |
static void |
printBuffer(java.io.PrintStream out)
Prints in the specified print stream
the current state of the buffer for SDDConstant.
|
void |
saveToDot(DotStream out,
java.util.Map<SDDTree,java.lang.String> sddTrees,
java.util.Map<SDDTreeConjunction,java.lang.String> conjs,
NameGenerator gen)
Prints a dot representation of this tree conjunction in the specified string builder
given the specified names for SDDTrees and SDDTreeConjunction,
as well as a counter to create more names.
|
int |
saveToString(java.lang.StringBuilder bui,
java.util.Map<SDDTree,java.lang.String> sddTrees,
java.util.Map<SDDTreeConjunction,java.lang.String> conjs,
int counter)
Prints a string representation of this tree conjunction in the specified string builder,
given the specified names for SDDTrees and SDDTreeConjunction,
as well as a counter to create more names.
|
java.lang.String |
toString() |
equals, getCanonical, print, unwatch, unwatchAll, verifyValidity, watchpublic static SDDTreeConjunction create(SDDTree prime, SDDTree sub)
prime - the prime of the conjunction.sub - the sub of the conjunction.public int hashCode()
hashCode in class CanonicalWatchedprotected boolean equivalent(java.lang.Object obj)
CanonicalWatchedequivalent in class CanonicalWatchedobj - the object compared to this object.protected java.util.Map<java.lang.Object,SDDTreeConjunction> getBuffer()
CanonicalWatchedgetBuffer in class CanonicalWatchedprotected void destroy()
CanonicalWatcheddestroy in class CanonicalWatchedpublic java.lang.String toString()
toString in class java.lang.Objectpublic int saveToString(java.lang.StringBuilder bui,
java.util.Map<SDDTree,java.lang.String> sddTrees,
java.util.Map<SDDTreeConjunction,java.lang.String> conjs,
int counter)
bui - the string building where this tree conjunction must be written.sddTrees - the names of the SDD Trees.conjs - the names of the SDD tree conjunctions.counter - the number of names already created.public void saveToDot(DotStream out, java.util.Map<SDDTree,java.lang.String> sddTrees, java.util.Map<SDDTreeConjunction,java.lang.String> conjs, NameGenerator gen)
out - the dot stream where this tree conjunction must be written.sddTrees - the names of the SDD Trees.conjs - the names of the SDD tree conjunctions.gen - the name generator (to generate dot node names).public SDDTree getPrime()
public SDDTree getSub()
public static void printBuffer(java.io.PrintStream out)
out - the print stream.CanonicalWatched.print(java.io.PrintStream)public int compareTo(SDDTreeConjunction t)
compareTo in interface java.lang.Comparable<SDDTreeConjunction>