edu.toronto.cs.mvset
Class MDDMvSetFactory.MDDMvSet

java.lang.Object
  extended by edu.toronto.cs.mvset.AbstractMvSet
      extended by edu.toronto.cs.mvset.MDDMvSetFactory.MDDMvSet
All Implemented Interfaces:
MvSet
Enclosing class:
MDDMvSetFactory

public class MDDMvSetFactory.MDDMvSet
extends AbstractMvSet


Field Summary
 
Fields inherited from interface edu.toronto.cs.mvset.MvSet
EQ, EXISTS, FORALL, GEQ, IMPL, INFO_AND, INFO_OR, JOIN, LEQ, MEET, NEG
 
Constructor Summary
MDDMvSetFactory.MDDMvSet(MDDNode _mdd)
           
 
Method Summary
 AlgebraValue[][] __expandToArray()
           
 AlgebraValue[] blankAssignmentVector()
           
 MvSet cofactor(AlgebraValue[] r)
          Restricts the MvSet to a particular L^n (or set of permutations on L^n if r is not total)
 MvSet cofactor(int argIdx, AlgebraValue value)
          Restricts an argument h (x_0, x_1, x_2, ...) = f (x_0, ..., value, ...) where value is substituted at argIdx
 MvSet cofactor(MvSet point)
           
 java.util.Iterator cubeIterator()
           
 boolean equals(MDDMvSetFactory.MDDMvSet v)
           
 boolean equals(java.lang.Object o)
           
 AlgebraValue evaluate(AlgebraValue[] values)
          Evaluates this function on an input result = f (values [0], values [1], ...)
 MvSet existAbstract(MvSet _cube)
           
 MvSet forallAbstract(MvSet _cube)
           
 IAlgebra getAlgebra()
          get the lattice for the MvSet
 MvSetFactory getFactory()
          gets the factory
 java.util.BitSet getImage()
           
 MDDNode getMddNode()
           
 java.util.Set getPreImageArray(AlgebraValue v)
          returns all cubes that lead to v
 AlgebraValue getValue()
           
 int hashCode()
           
 boolean isConstant()
           
 java.util.Iterator mintermIterator(MvSet _vars, AlgebraValue val)
           
 MvSet ptwiseCompare(int op, MvSet g)
          Ptwise compare: <=, >=, =.
 MvSet ptwiseCompose(int op, MvSet g)
          Creates a pointwise composition op is an operator: L x L -> L f is the current mv-set result h (x) = f (x) op g (x)
 MvSet ptwiseNeg()
          Creates a ptwise negation h (x) = \neg f (x)
 MvSet renameArgs(int[] newArgs)
          Renames the arguments.
 int size()
          Returns number of nodes
 DaVinciGraph toDaVinci()
           
 java.lang.String toString()
           
 
Methods inherited from class edu.toronto.cs.mvset.AbstractMvSet
and, eq, expandToArray, geq, impl, infoAnd, infoNot, infoOr, leq, not, or, reorder, toMvRelation, toMvRelation
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MDDMvSetFactory.MDDMvSet

public MDDMvSetFactory.MDDMvSet(MDDNode _mdd)
Method Detail

isConstant

public boolean isConstant()

getValue

public AlgebraValue getValue()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

ptwiseCompose

public MvSet ptwiseCompose(int op,
                           MvSet g)
Creates a pointwise composition op is an operator: L x L -> L f is the current mv-set result h (x) = f (x) op g (x)


ptwiseCompare

public MvSet ptwiseCompare(int op,
                           MvSet g)
Description copied from interface: MvSet
Ptwise compare: <=, >=, =.


ptwiseNeg

public MvSet ptwiseNeg()
Creates a ptwise negation h (x) = \neg f (x)


size

public int size()
Description copied from interface: MvSet
Returns number of nodes

Specified by:
size in interface MvSet
Overrides:
size in class AbstractMvSet

cofactor

public MvSet cofactor(MvSet point)
Specified by:
cofactor in interface MvSet
Overrides:
cofactor in class AbstractMvSet

cofactor

public MvSet cofactor(int argIdx,
                      AlgebraValue value)
Restricts an argument h (x_0, x_1, x_2, ...) = f (x_0, ..., value, ...) where value is substituted at argIdx


cofactor

public MvSet cofactor(AlgebraValue[] r)
Description copied from interface: MvSet
Restricts the MvSet to a particular L^n (or set of permutations on L^n if r is not total)


getPreImageArray

public java.util.Set getPreImageArray(AlgebraValue v)
returns all cubes that lead to v

Specified by:
getPreImageArray in interface MvSet
Overrides:
getPreImageArray in class AbstractMvSet

existAbstract

public MvSet existAbstract(MvSet _cube)

forallAbstract

public MvSet forallAbstract(MvSet _cube)

renameArgs

public MvSet renameArgs(int[] newArgs)
Renames the arguments. newArgs is a map from old args to new so that h (x) = f (newArgs [0], newArgs [1], ...)


evaluate

public AlgebraValue evaluate(AlgebraValue[] values)
Evaluates this function on an input result = f (values [0], values [1], ...)


getAlgebra

public IAlgebra getAlgebra()
get the lattice for the MvSet


getImage

public java.util.BitSet getImage()
Specified by:
getImage in interface MvSet
Overrides:
getImage in class AbstractMvSet

getMddNode

public MDDNode getMddNode()

getFactory

public MvSetFactory getFactory()
Description copied from interface: MvSet
gets the factory


equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

equals

public boolean equals(MDDMvSetFactory.MDDMvSet v)

blankAssignmentVector

public AlgebraValue[] blankAssignmentVector()

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

cubeIterator

public java.util.Iterator cubeIterator()
Specified by:
cubeIterator in interface MvSet
Overrides:
cubeIterator in class AbstractMvSet

mintermIterator

public java.util.Iterator mintermIterator(MvSet _vars,
                                          AlgebraValue val)
Specified by:
mintermIterator in interface MvSet
Overrides:
mintermIterator in class AbstractMvSet

__expandToArray

public AlgebraValue[][] __expandToArray()

toDaVinci

public DaVinciGraph toDaVinci()
Specified by:
toDaVinci in interface MvSet
Overrides:
toDaVinci in class AbstractMvSet