edu.toronto.cs.mvset
Class JCUDDMvSetFactory.JCUDDMvSet

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

public class JCUDDMvSetFactory.JCUDDMvSet
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
JCUDDMvSetFactory.JCUDDMvSet(int _cPtr)
           
 
Method Summary
 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 cube)
           
 java.util.Iterator cubeIterator()
           
 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)
           
protected  void finalize()
           
 MvSet forallAbstract(MvSet _cube)
           
 IAlgebra getAlgebra()
          get the lattice for the MvSet
 int getCPtr()
           
 MvSetFactory getFactory()
          gets the factory
 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
 MvRelation toMvRelation(MvSet invariant, MvSet preVariablesCube, MvSet postVariablesCube, int[] preToPostMap, int[] postToPreMap)
           
 java.lang.String toString()
           
 
Methods inherited from class edu.toronto.cs.mvset.AbstractMvSet
and, eq, expandToArray, geq, getImage, getPreImageArray, impl, infoAnd, infoNot, infoOr, leq, not, or, reorder, toDaVinci
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JCUDDMvSetFactory.JCUDDMvSet

public JCUDDMvSetFactory.JCUDDMvSet(int _cPtr)
Method Detail

finalize

protected void finalize()
Overrides:
finalize in class java.lang.Object

getCPtr

public int getCPtr()

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(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)


cofactor

public MvSet cofactor(MvSet cube)
Specified by:
cofactor in interface MvSet
Overrides:
cofactor 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


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

hashCode

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

toMvRelation

public MvRelation toMvRelation(MvSet invariant,
                               MvSet preVariablesCube,
                               MvSet postVariablesCube,
                               int[] preToPostMap,
                               int[] postToPreMap)
Specified by:
toMvRelation in interface MvSet
Overrides:
toMvRelation in class AbstractMvSet

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