edu.toronto.cs.cfa
Class CFAMvSetFactory

java.lang.Object
  extended by edu.toronto.cs.mvset.AbstractMvSetFactory
      extended by edu.toronto.cs.cfa.CFAMvSetFactory
All Implemented Interfaces:
MvSetFactory

public class CFAMvSetFactory
extends AbstractMvSetFactory

CFAMvSetFactory.java Created: Sun May 30 18:55:34 2004

Version:
Author:
Arie Gurfinkel

Nested Class Summary
 class CFAMvSetFactory.CFAMvRelation
           
 class CFAMvSetFactory.CFAMvSet
           
 
Field Summary
 
Fields inherited from interface edu.toronto.cs.mvset.MvSetFactory
DONT_CARE
 
Constructor Summary
CFAMvSetFactory(MvSetFactory _factory, CFA _cfa)
           
 
Method Summary
 MvSet bot()
           
 MvSet buildCube(int[] varIndex)
          builds a cube out of variables
 MvSet createCase(int argIdx, MvSet[] children)
          createCase creates a case relative to argIdx this is somewhat simillar to Ite (if-then-else) in CUDD but extended to more than two children.
 MvSet createConstant(AlgebraValue value)
          Given a value in L creates a function f(x_0, x_1, ...) = value
 MvSet createPoint(AlgebraValue[] args, AlgebraValue value)
          Creates a point function f (args) = value = 0 otherwise
 MvSet createProjection(int argIdx)
          Given an argument index (0 <= argIdx < n) constructs a projection function f(x_0, x_1, ...) = x_argIdx
static void dumpMvSet(MvSet mvSet)
           
 MvSet embed(int nodeId, MvSet mvSet)
           
 MvSet embedMvSet(MvSet mvSet)
           
 CFA getCFA()
           
 MvRelation getMvRelation()
           
 MvSetFactory getMvSetFactory()
           
 MvSet infoBot()
           
 MvSet infoTop()
           
 CFAMvSetFactory.CFAMvSet makeMvSet(CFA v, java.lang.String name)
           
 MvSet top()
           
 MvSet var(int arg, AlgebraValue argVal, AlgebraValue value)
          Builds an mvset corresponding to (arg = argVal) /\ value
 
Methods inherited from class edu.toronto.cs.mvset.AbstractMvSetFactory
getAlgebra, renew
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CFAMvSetFactory

public CFAMvSetFactory(MvSetFactory _factory,
                       CFA _cfa)
Method Detail

getMvRelation

public MvRelation getMvRelation()

getMvSetFactory

public MvSetFactory getMvSetFactory()

getCFA

public CFA getCFA()

createConstant

public MvSet createConstant(AlgebraValue value)
Description copied from interface: MvSetFactory
Given a value in L creates a function f(x_0, x_1, ...) = value


createProjection

public MvSet createProjection(int argIdx)
Description copied from interface: MvSetFactory
Given an argument index (0 <= argIdx < n) constructs a projection function f(x_0, x_1, ...) = x_argIdx


embed

public MvSet embed(int nodeId,
                   MvSet mvSet)

embedMvSet

public MvSet embedMvSet(MvSet mvSet)

top

public MvSet top()

bot

public MvSet bot()

infoTop

public MvSet infoTop()
Specified by:
infoTop in interface MvSetFactory
Overrides:
infoTop in class AbstractMvSetFactory

infoBot

public MvSet infoBot()
Specified by:
infoBot in interface MvSetFactory
Overrides:
infoBot in class AbstractMvSetFactory

createCase

public MvSet createCase(int argIdx,
                        MvSet[] children)
Description copied from interface: MvSetFactory
createCase creates a case relative to argIdx this is somewhat simillar to Ite (if-then-else) in CUDD but extended to more than two children.

Parameters:
argIdx - an int value
children - an array of MvSet[] whose size must be equal the size of the logic such that children [i] corresponds to the i^th child of an mv-set we are creating Note that argIdx must be smaller than any variable in children to preserve ordering.
Returns:
a MvSet value

createPoint

public MvSet createPoint(AlgebraValue[] args,
                         AlgebraValue value)
Description copied from interface: MvSetFactory
Creates a point function f (args) = value = 0 otherwise


buildCube

public MvSet buildCube(int[] varIndex)
Description copied from interface: MvSetFactory
builds a cube out of variables


var

public MvSet var(int arg,
                 AlgebraValue argVal,
                 AlgebraValue value)
Description copied from interface: MvSetFactory
Builds an mvset corresponding to (arg = argVal) /\ value


makeMvSet

public CFAMvSetFactory.CFAMvSet makeMvSet(CFA v,
                                          java.lang.String name)

dumpMvSet

public static void dumpMvSet(MvSet mvSet)