edu.toronto.cs.cfa
Class CFAMvSetFactory.CFAMvSet

java.lang.Object
  extended by edu.toronto.cs.mvset.AbstractMvSet
      extended by edu.toronto.cs.cfa.CFAMvSetFactory.CFAMvSet
All Implemented Interfaces:
MvSet
Enclosing class:
CFAMvSetFactory

public class CFAMvSetFactory.CFAMvSet
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
protected CFAMvSetFactory.CFAMvSet(CFA _cfa)
           
protected CFAMvSetFactory.CFAMvSet(CFA _cfa, java.lang.String _name)
           
 
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 v)
           
 boolean equals(CFAMvSetFactory.CFAMvSet 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()
          gets the lattice for the MvSet
 CFA getCFA()
           
 MvSetFactory getFactory()
          gets the factory
 java.util.BitSet getImage()
           
 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.
 java.lang.String toString()
           
 
Methods inherited from class edu.toronto.cs.mvset.AbstractMvSet
and, cubeIterator, eq, expandToArray, geq, getPreImageArray, impl, infoAnd, infoNot, infoOr, leq, not, or, reorder, size, toDaVinci, toMvRelation
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CFAMvSetFactory.CFAMvSet

protected CFAMvSetFactory.CFAMvSet(CFA _cfa)

CFAMvSetFactory.CFAMvSet

protected CFAMvSetFactory.CFAMvSet(CFA _cfa,
                                   java.lang.String _name)
Method Detail

toString

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

getCFA

public CFA getCFA()

ptwiseCompose

public MvSet ptwiseCompose(int op,
                           MvSet g)
Description copied from interface: MvSet
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)


ptwiseNeg

public MvSet ptwiseNeg()
Description copied from interface: MvSet
Creates a ptwise negation h (x) = \neg f (x)


ptwiseCompare

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


cofactor

public MvSet cofactor(int argIdx,
                      AlgebraValue value)
Description copied from interface: MvSet
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 v)
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)
Description copied from interface: MvSet
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)
Description copied from interface: MvSet
Evaluates this function on an input result = f (values [0], values [1], ...)


getFactory

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


getAlgebra

public IAlgebra getAlgebra()
Description copied from interface: MvSet
gets the lattice for the MvSet


isConstant

public boolean isConstant()

getValue

public AlgebraValue getValue()

equals

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

equals

public boolean equals(CFAMvSetFactory.CFAMvSet v)

hashCode

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

mintermIterator

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

getImage

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