Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.sf.javabdd
Class BDDDomain  view BDDDomain download BDDDomain.java

java.lang.Object
  extended byorg.sf.javabdd.BDDDomain
Direct Known Subclasses:
BuDDyFactory.BuDDyBDDDomain, CUDDFactory.CUDDBDDDomain, JavaFactory.bddDomain, TestBDDFactory.TestBDDDomain, TypedBDDFactory.TypedBDDDomain

public abstract class BDDDomain
extends java.lang.Object

Represents a domain of BDD variables. This is useful for finite state machines, among other things.

Version:
$Id: BDDDomain.java,v 1.11 2003/10/23 16:18:47 joewhaley Exp $

Field Summary
protected  int index
           
protected  int[] ivar
           
protected  java.lang.String name
           
protected  long realsize
           
protected  BDD var
           
 
Constructor Summary
protected BDDDomain(int index, long range)
           
 
Method Summary
 BDD buildAdd(BDDDomain that, int bits, long value)
           
 BDD buildAdd(BDDDomain that, long value)
           
 BDD buildEquals(BDDDomain that)
          Builds a BDD which is true for all the possible assignments to the variable blocks that makes the blocks equal.
 BDD domain()
          Returns what corresponds to a disjunction of all possible values of this domain.
abstract  BDDFactory getFactory()
          Returns the factory that created this domain.
 int getIndex()
          Returns the index of this domain.
 java.lang.String getName()
          Gets the name of this domain.
 BDD ithVar(int val)
          Returns the BDD that defines the given value for this finite domain block.
 BDD ithVar(long val)
           
 BDD set()
          Returns the variable set that contains the variables used to define this finite domain block.
 void setName(java.lang.String name)
          Sets the name of this domain.
 long size()
          Returns the size of the domain for this finite domain block.
 java.lang.String toString()
          Convert this Object to a human-readable String.
 int varNum()
          Returns the number of BDD variables used for this finite domain block.
 BDD varRange(long lo, long hi)
          Returns the BDD that defines the given range of values, inclusive, for this finite domain block.
 int[] vars()
          Returns an integer array containing the indices of the BDD variables used to define this finite domain.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

index

protected int index

realsize

protected long realsize

ivar

protected int[] ivar

var

protected BDD var
Constructor Detail

BDDDomain

protected BDDDomain(int index,
                    long range)
Method Detail

getFactory

public abstract BDDFactory getFactory()
Returns the factory that created this domain.


setName

public void setName(java.lang.String name)
Sets the name of this domain.


getName

public java.lang.String getName()
Gets the name of this domain.


getIndex

public int getIndex()
Returns the index of this domain.


domain

public BDD domain()
Returns what corresponds to a disjunction of all possible values of this domain. This is more efficient than doing ithVar(0) OR ithVar(1) ... explicitly for all values in the domain. Compare to fdd_domain.


size

public long size()
Returns the size of the domain for this finite domain block. Compare to fdd_domainsize.


buildAdd

public BDD buildAdd(BDDDomain that,
                    long value)

buildAdd

public BDD buildAdd(BDDDomain that,
                    int bits,
                    long value)

buildEquals

public BDD buildEquals(BDDDomain that)
Builds a BDD which is true for all the possible assignments to the variable blocks that makes the blocks equal. Compare to fdd_equals/fdd_equ.


set

public BDD set()
Returns the variable set that contains the variables used to define this finite domain block. Compare to fdd_ithset.


ithVar

public BDD ithVar(int val)
Returns the BDD that defines the given value for this finite domain block. Compare to fdd_ithvar.


ithVar

public BDD ithVar(long val)

varRange

public BDD varRange(long lo,
                    long hi)
Returns the BDD that defines the given range of values, inclusive, for this finite domain block.


varNum

public int varNum()
Returns the number of BDD variables used for this finite domain block. Compare to fdd_varnum.


vars

public int[] vars()
Returns an integer array containing the indices of the BDD variables used to define this finite domain. Compare to fdd_vars.


toString

public java.lang.String toString()
Description copied from class: java.lang.Object
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() 55 and such.

It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).