public class ProfiledBDD extends BDD
ProfiledBDD2,
BDDCACHE_AND, CACHE_BIIMP, CACHE_EXISTS, CACHE_FORALL, CACHE_IMP, CACHE_NAND, CACHE_NOR, CACHE_OR, CACHE_RESTRICT, CACHE_XOR, ite_cache, last_sat_vars, nodeNames, not_cache, num_vars, oneSat_buffer, op_cache, quant_cache, quant_conj, quant_cube, quant_id, relprod_cache, replace_cache, restrict_careset, sat_cache, sign_vec, varset_last, varset_vecdead_nodes, ht_chain, mark_stack, NODE_MARK, NODE_UNMARK, nodesminfree, stat_gc_count, stat_gc_freed, stat_gc_time, stat_grow_time, stat_lookup_count, stat_notify_time, stat_nt_grow, table_size, work_stack, work_stack_tos| Constructor and Description |
|---|
ProfiledBDD(int nodesize) |
ProfiledBDD(int nodesize,
int cache_size) |
| Modifier and Type | Method and Description |
|---|---|
Collection |
addDebugger(BDDDebuger d)
for debugging: install a debugger.
|
int |
and(int a,
int b)
binary AND.
|
int |
biimp(int a,
int b)
binary BI-IMPLICATION (double implication, equivalence, whatever...).
|
int |
exists(int a,
int b)
binary EXISTS, existential quantification.
Let exists(bdd, variable) to be bdd(variable) OR bdd(NOT variable). |
int |
forall(int a,
int b)
binary FOR-ALL, universal quantification.
Let forall(bdd, variable) to be bdd(variable) AND bdd(NOT variable). |
int |
imp(int a,
int b)
binary implication.
|
int |
ite(int a,
int b,
int c)
this is the If-Then-Else BDD function.
it can be used to (inefficiently) simulate and binary operation. (i think it is described in the "Long" paper). |
int |
nand(int a,
int b)
binary NAND.
|
int |
nor(int a,
int b)
binary NOR.
|
int |
not(int a)
binary NOT.
|
int |
or(int a,
int b)
binary OR.
|
int |
relProd(int a,
int b,
int c)
This is the relational-product of Clarke et al..
It combines a conjunction and existential quantification that is often seen in image computation: EXISTS c. |
int |
replace(int a,
Permutation b)
Given a permutation, this function will re-label (some) nodes in a BDD
to associate with a new sets of variables.
|
int |
restrict(int a,
int b)
The BDD restrict operation.
|
double |
satCount(int a)
returns the number of satisfying assignments for this BDD.
|
void |
showStats()
show some statistics ...
|
int |
simplify(int a,
int b)
The BDD simplification operation.
|
int |
support(int a)
returns the support set of a variable, that is a cube C where each of its variables
are used somewhere in the ibpu bdd.
|
int |
xor(int a,
int b)
binary XOR.
|
andTo, cleanup, createPermutation, createVar, cube, cube, getMemoryUsage, getOne, getZero, internal_test, isVariable, member, minterm, minterm, mk, nodeCount, numberOfVariables, oneSat_rec, oneSat, oneSat, orTo, post_removal_callbak, print, printCubes, printDot, printSet, quasiReducedNodeCount, satCount_rec, setNodeNamesadd, check_all_nodes, check_node, countRootNodes, deref, enableStackMarking, gc, getHigh, getLow, getRef, getVar, getVarUnmasked, grow, invalidate, isNodeMarked, isValid, mark_node, mark_tree, match_table, ref, saturate, setAll, setAll, show_table_all, show_table, show_tuple, signal_removed, tree_depth_changed, unmark_node, unmark_tree, update_grow_parameterspublic ProfiledBDD(int nodesize)
public ProfiledBDD(int nodesize,
int cache_size)
public Collection addDebugger(BDDDebuger d)
NodeTableaddDebugger in class NodeTablepublic int and(int a,
int b)
BDDand in class BDDBDD.or(int, int)public int or(int a,
int b)
BDDor in class BDDBDD.and(int, int)public int xor(int a,
int b)
BDDxor in class BDDBDD.biimp(int, int)public int biimp(int a,
int b)
BDDbiimp in class BDDBDD.xor(int, int)public int imp(int a,
int b)
BDDpublic int nor(int a,
int b)
BDDnor in class BDDBDD.nand(int, int)public int nand(int a,
int b)
BDDnand in class BDDBDD.nor(int, int)public int not(int a)
BDDpublic int replace(int a,
Permutation b)
BDDreplace in class BDDPermutation,
BDD.createPermutation(int[], int[])public int exists(int a,
int b)
BDDexists in class BDDBDD.forall(int, int)public int forall(int a,
int b)
BDDforall in class BDDBDD.exists(int, int)public int relProd(int a,
int b,
int c)
BDDpublic int ite(int a,
int b,
int c)
BDDpublic double satCount(int a)
BDDImportant note: this works becuase getVar() returns "numbers of variables plus one" for the terminal nodes!
public int support(int a)
BDDreturns the support set of a variable, that is a cube C where each of its variables are used somewhere in the ibpu bdd.
public int restrict(int a,
int b)
BDDrestrict in class BDDBDD.simplify(int, int)public int simplify(int a,
int b)
BDDsimplify in class BDDBDD.restrict(int, int)This file is a part of the JDD package, a native Java Binary Decision Diagram Library.