edu.toronto.cs.cudd
Class CuddAdd

java.lang.Object
  extended by edu.toronto.cs.cudd.CuddAdd

public class CuddAdd
extends java.lang.Object

A Java wrapper for Cudd's ADD (MBTDD)

Author:
Arie Gurfinkel

Nested Class Summary
 class CuddAdd.ADD
           
 class CuddAdd.CubeIterator
           
 
Field Summary
static int NO_VALUE
           
 
Constructor Summary
CuddAdd(int nvars, IAlgebra _algebra)
          Creates a new CuddAdd instance.
 
Method Summary
 int addAndPtr(int v1, int v2)
           
 CuddAdd.ADD addBot()
           
 int addBotPtr()
           
 int addCofactorPtr(int f, int c)
           
 CuddAdd.ADD addConstant(int value)
           
 int addConstantPtr(int value)
           
 int addEqPtr(int v1, int v2)
           
 int addGeqPtr(int v1, int v2)
           
 int addGetValue(int a)
           
 int addImplPtr(int v1, int v2)
           
 CuddAdd.ADD addIte(int var, CuddAdd.ADD child0, CuddAdd.ADD child1)
           
 int addItePtr(int var, int left, int right)
           
 int addLeqPtr(int v1, int v2)
           
 int addNotPtr(int v1)
           
 int addOrPtr(int v1, int v2)
           
 int addPermutePtr(int a, int[] map)
           
 int addPlusPtr(int v1, int v2)
           
 CuddAdd.ADD addTop()
           
 int addTopPtr()
           
 CuddAdd.ADD addVar(int index)
           
 int addVarPtr(int index)
           
 CuddAdd.ADD buildCube(int[] varIndex)
           
 CuddAdd.ADD buildPoint(int[] intArgs, CuddAdd.ADD value)
           
 int checkZeroRef()
          Manager functions
 java.util.Iterator cubeIterator(int nodePtr)
           
 int dagSize(int ptr)
           
 void deref(int ptr)
           
 int dumpDaVinciPtr(java.lang.String fname, int addPtr)
           
 boolean equals(java.lang.Object o)
           
 int existAbstract(int v, int cube)
           
protected  void finalize()
           
 int forallAbstract(int v, int cube)
           
 int gc()
          Runs Cudd's garbage collector and clears the cache
 int gc(boolean clearCache)
          Runs CUDD's garbage collector
 IAlgebra getAlgebra()
           
 void info()
           
 boolean isConstantPtr(int ptr)
           
static void main(java.lang.String[] args)
           
 void printMintermPtr(int a)
           
 void quit()
           
 void recursiveDeref(int ptr)
           
 void ref(int ptr)
           
 void reorder(int minsize)
           
 int sharingSize(int[] ptrs)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NO_VALUE

public static final int NO_VALUE
See Also:
Constant Field Values
Constructor Detail

CuddAdd

public CuddAdd(int nvars,
               IAlgebra _algebra)
Creates a new CuddAdd instance.

Parameters:
nvars - initial number of variables
Method Detail

addTopPtr

public int addTopPtr()

addBotPtr

public int addBotPtr()

addVarPtr

public int addVarPtr(int index)

addConstantPtr

public int addConstantPtr(int value)

addAndPtr

public int addAndPtr(int v1,
                     int v2)

addOrPtr

public int addOrPtr(int v1,
                    int v2)

addEqPtr

public int addEqPtr(int v1,
                    int v2)

addLeqPtr

public int addLeqPtr(int v1,
                     int v2)

addGeqPtr

public int addGeqPtr(int v1,
                     int v2)

addImplPtr

public int addImplPtr(int v1,
                      int v2)

addPlusPtr

public int addPlusPtr(int v1,
                      int v2)

addNotPtr

public int addNotPtr(int v1)

addPermutePtr

public int addPermutePtr(int a,
                         int[] map)

addGetValue

public int addGetValue(int a)

existAbstract

public int existAbstract(int v,
                         int cube)

forallAbstract

public int forallAbstract(int v,
                          int cube)

addCofactorPtr

public int addCofactorPtr(int f,
                          int c)

addItePtr

public int addItePtr(int var,
                     int left,
                     int right)

ref

public void ref(int ptr)

deref

public void deref(int ptr)

recursiveDeref

public void recursiveDeref(int ptr)

isConstantPtr

public boolean isConstantPtr(int ptr)

checkZeroRef

public int checkZeroRef()
Manager functions


gc

public int gc(boolean clearCache)
Runs CUDD's garbage collector

Parameters:
clearCache - true mean that the cache must be cleared as well
Returns:
number of deleted nodes

quit

public void quit()

info

public void info()

printMintermPtr

public void printMintermPtr(int a)

reorder

public void reorder(int minsize)

dagSize

public int dagSize(int ptr)

sharingSize

public int sharingSize(int[] ptrs)

dumpDaVinciPtr

public int dumpDaVinciPtr(java.lang.String fname,
                          int addPtr)

gc

public int gc()
Runs Cudd's garbage collector and clears the cache

Returns:
number of deleted nodes

finalize

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

getAlgebra

public IAlgebra getAlgebra()

addVar

public CuddAdd.ADD addVar(int index)

addTop

public CuddAdd.ADD addTop()

addBot

public CuddAdd.ADD addBot()

addConstant

public CuddAdd.ADD addConstant(int value)

buildCube

public CuddAdd.ADD buildCube(int[] varIndex)

addIte

public CuddAdd.ADD addIte(int var,
                          CuddAdd.ADD child0,
                          CuddAdd.ADD child1)

buildPoint

public CuddAdd.ADD buildPoint(int[] intArgs,
                              CuddAdd.ADD value)

toString

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

main

public static void main(java.lang.String[] args)

equals

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

cubeIterator

public java.util.Iterator cubeIterator(int nodePtr)