SableJBDD.bdd.internal
Class AbstractUniqueTable

java.lang.Object
  extended bySableJBDD.cache.CacheProfiler
      extended bySableJBDD.bdd.internal.AbstractUniqueTable
All Implemented Interfaces:
Profiling, UniqueTable
Direct Known Subclasses:
RegularUniqueTable, SoftUniqueTable, WeakUniqueTable

public abstract class AbstractUniqueTable
extends CacheProfiler
implements UniqueTable

A unique table is a canonical mapping from a triple key (var, low, high) to a BDD internal node.


Field Summary
 
Fields inherited from interface SableJBDD.bdd.util.Profiling
PROFILING
 
Method Summary
 JBddNode findOrCreate(JBddVariable var, JBddNode low, JBddNode high)
          Finds or creates a BddNode by a triple key.
 
Methods inherited from class SableJBDD.cache.CacheProfiler
accesses, hitRate, hits, misses, missRate, reportStatistics, steps
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface SableJBDD.bdd.util.Profiling
reportStatistics
 

Method Detail

findOrCreate

public JBddNode findOrCreate(JBddVariable var,
                             JBddNode low,
                             JBddNode high)
Finds or creates a BddNode by a triple key.

Specified by:
findOrCreate in interface UniqueTable
Parameters:
var - the BDD variable
low - the false branch
high - the true branch
Returns:
the canonical bdd node