SableJBDD.bdd.internal
Class AbstractBddCache

java.lang.Object
  extended bySableJBDD.bdd.internal.AbstractBddCache
All Implemented Interfaces:
BddCache, Profiling
Direct Known Subclasses:
RegularBddCache, SoftBddCache

public abstract class AbstractBddCache
extends java.lang.Object
implements BddCache

An abstract cache uses three integers as the key.


Field Summary
 
Fields inherited from interface SableJBDD.bdd.util.Profiling
PROFILING
 
Constructor Summary
AbstractBddCache()
           
 
Method Summary
 JBddNode lookup(SableJBDD.bdd.internal.Unique f, SableJBDD.bdd.internal.Unique g, SableJBDD.bdd.internal.Unique h)
          Looks up a bdd node by f, g, and h.
 void put(SableJBDD.bdd.internal.Unique f, SableJBDD.bdd.internal.Unique g, SableJBDD.bdd.internal.Unique h, JBddNode result)
          Puts the ite(f,g,h) in the cache.
 void reportStatistics(java.io.PrintStream out)
           
 void reset()
          Resets the cache.
 int size()
          Returns the number of entries.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractBddCache

public AbstractBddCache()
Method Detail

size

public int size()
Description copied from interface: BddCache
Returns the number of entries.

Specified by:
size in interface BddCache

lookup

public JBddNode lookup(SableJBDD.bdd.internal.Unique f,
                       SableJBDD.bdd.internal.Unique g,
                       SableJBDD.bdd.internal.Unique h)
Looks up a bdd node by f, g, and h. Returns null if no such node exists.

Specified by:
lookup in interface BddCache

put

public void put(SableJBDD.bdd.internal.Unique f,
                SableJBDD.bdd.internal.Unique g,
                SableJBDD.bdd.internal.Unique h,
                JBddNode result)
Puts the ite(f,g,h) in the cache.

Specified by:
put in interface BddCache

reset

public void reset()
Description copied from interface: BddCache
Resets the cache.

Specified by:
reset in interface BddCache

reportStatistics

public void reportStatistics(java.io.PrintStream out)
Specified by:
reportStatistics in interface Profiling