edu.toronto.cs.mvset
Interface MvSetFactory

All Known Implementing Classes:
AbstractMvSetFactory, CUADDMvSetFactory, JADDMvSetFactory, JCUDDBelnapMvSetFactory, JCUDDMvSetFactory, MDDMvSetFactory

public interface MvSetFactory

A factory to produce MvSets


Field Summary
static int DONT_CARE
           
 
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
 IAlgebra getAlgebra()
          Gets the lattice for this factory.
 MvSet infoBot()
           
 MvSet infoTop()
           
 void renew()
           
 MvSet top()
           
 MvSet var(int arg, AlgebraValue argVal, AlgebraValue value)
          Builds an mvset corresponding to (arg = argVal) /\ value
 

Field Detail

DONT_CARE

static final int DONT_CARE
See Also:
Constant Field Values
Method Detail

createConstant

MvSet createConstant(AlgebraValue value)
Given a value in L creates a function f(x_0, x_1, ...) = value


createProjection

MvSet createProjection(int argIdx)
Given an argument index (0 <= argIdx < n) constructs a projection function f(x_0, x_1, ...) = x_argIdx


top

MvSet top()

bot

MvSet bot()

infoTop

MvSet infoTop()

infoBot

MvSet infoBot()

createCase

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.

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

MvSet createPoint(AlgebraValue[] args,
                  AlgebraValue value)
Creates a point function f (args) = value = 0 otherwise


buildCube

MvSet buildCube(int[] varIndex)
builds a cube out of variables


var

MvSet var(int arg,
          AlgebraValue argVal,
          AlgebraValue value)
Builds an mvset corresponding to (arg = argVal) /\ value


getAlgebra

IAlgebra getAlgebra()
Gets the lattice for this factory.


renew

void renew()