src/bdd/bdd.h File Reference

#include "util.h"
#include "array.h"
#include "st.h"
#include "var_set.h"
#include "avl.h"
#include "epd.h"
Include dependency graph for bdd.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  bdd_external_hooks_struct

Defines

#define foreach_bdd_cube(fn, gen, cube)
#define foreach_bdd_disjoint_cube(fn, gen, cube)
#define foreach_bdd_node(fn, gen, node)

Typedefs

typedef int boolean
typedef void bdd_manager
typedef unsigned int bdd_variableId
typedef void bdd_mgr_init
typedef int bdd_literal
typedef struct bdd_t bdd_t
typedef void bdd_node
typedef void bdd_gen
typedef struct
bdd_external_hooks_struct 
bdd_external_hooks
typedef void bdd_block
typedef double BDD_VALUE_TYPE

Enumerations

enum  bdd_reorder_type_t {
  BDD_REORDER_SIFT, BDD_REORDER_WINDOW, BDD_REORDER_SAME, BDD_REORDER_RANDOM,
  BDD_REORDER_RANDOM_PIVOT, BDD_REORDER_SIFT_CONVERGE, BDD_REORDER_SYMM_SIFT, BDD_REORDER_SYMM_SIFT_CONV,
  BDD_REORDER_LINEAR, BDD_REORDER_LINEAR_CONVERGE, BDD_REORDER_EXACT, BDD_REORDER_WINDOW2,
  BDD_REORDER_WINDOW3, BDD_REORDER_WINDOW4, BDD_REORDER_WINDOW2_CONV, BDD_REORDER_WINDOW3_CONV,
  BDD_REORDER_WINDOW4_CONV, BDD_REORDER_GROUP_SIFT, BDD_REORDER_GROUP_SIFT_CONV, BDD_REORDER_ANNEALING,
  BDD_REORDER_GENETIC, BDD_REORDER_LAZY_SIFT, BDD_REORDER_NONE
}
enum  bdd_package_type_t { CMU, CAL, CUDD }
enum  bdd_gen_status { bdd_EMPTY, bdd_NONEMPTY }
enum  bdd_hook_type_t { BDD_PRE_GC_HOOK, BDD_POST_GC_HOOK, BDD_PRE_REORDERING_HOOK, BDD_POST_REORDERING_HOOK }
enum  bdd_approx_dir_t { BDD_OVER_APPROX, BDD_UNDER_APPROX }
enum  bdd_partition_type_t { BDD_CONJUNCTS, BDD_DISJUNCTS }
enum  bdd_reorder_verbosity_t { BDD_REORDER_VERBOSITY_DEFAULT, BDD_REORDER_NO_VERBOSITY, BDD_REORDER_VERBOSITY }
enum  bdd_approx_type_t {
  BDD_APPROX_HB, BDD_APPROX_SP, BDD_APPROX_COMP, BDD_APPROX_UA,
  BDD_APPROX_RUA, BDD_APPROX_BIASED_RUA
}

Functions

EXTERN bdd_package_type_t
bdd_get_package_name 
ARGS ((void))
EXTERN bdd_manager *bdd_start ARGS ((int))
EXTERN void bdd_end ARGS ((bdd_manager *))
EXTERN bdd_t
*bdd_create_variable_after 
ARGS ((bdd_manager *, bdd_variableId))
EXTERN bdd_t *bdd_var_with_index ARGS ((bdd_manager *manager, int index))
EXTERN bdd_node *bdd_add_ith_var ARGS ((bdd_manager *mgr, int i))
EXTERN bdd_t *bdd_dup ARGS ((bdd_t *))
EXTERN bdd_t *bdd_and ARGS ((bdd_t *, bdd_t *, boolean, boolean))
EXTERN bdd_t *bdd_and_with_limit ARGS ((bdd_t *, bdd_t *, boolean, boolean, unsigned int))
EXTERN bdd_t *bdd_and_array ARGS ((bdd_t *, array_t *, boolean, boolean))
EXTERN bdd_t *bdd_and_smooth ARGS ((bdd_t *, bdd_t *, array_t *))
EXTERN bdd_t
*bdd_and_smooth_with_limit 
ARGS ((bdd_t *, bdd_t *, array_t *, unsigned int))
EXTERN bdd_t
*bdd_and_smooth_with_cube 
ARGS ((bdd_t *, bdd_t *, bdd_t *))
EXTERN bdd_t
*bdd_clipping_and_smooth 
ARGS ((bdd_t *, bdd_t *, array_t *, int, int))
EXTERN bdd_t *bdd_between ARGS ((bdd_t *, bdd_t *))
EXTERN bdd_t *bdd_cofactor_array ARGS ((bdd_t *, array_t *))
EXTERN bdd_t *bdd_vector_compose ARGS ((bdd_t *, array_t *, array_t *))
EXTERN bdd_t *bdd_ite ARGS ((bdd_t *, bdd_t *, bdd_t *, boolean, boolean, boolean))
EXTERN bdd_t
*bdd_substitute_with_permut 
ARGS ((bdd_t *, int *))
EXTERN array_t
*bdd_substitute_array 
ARGS ((array_t *, array_t *, array_t *))
EXTERN array_t
*bdd_substitute_array_with_permut 
ARGS ((array_t *, int *))
EXTERN bdd_t *bdd_multiway_and ARGS ((bdd_manager *, array_t *))
EXTERN array_t *bdd_pairwise_or ARGS ((bdd_manager *manager, array_t *bddArray1, array_t *bddArray2))
EXTERN bdd_t *bdd_approx_hb ARGS ((bdd_t *, bdd_approx_dir_t, int, int))
EXTERN bdd_t *bdd_approx_sp ARGS ((bdd_t *, bdd_approx_dir_t, int, int, int))
EXTERN bdd_t *bdd_approx_ua ARGS ((bdd_t *, bdd_approx_dir_t, int, int, int, double))
EXTERN bdd_t *bdd_approx_remap_ua ARGS ((bdd_t *, bdd_approx_dir_t, int, int, double))
EXTERN bdd_t *bdd_approx_biased_rua ARGS ((bdd_t *, bdd_approx_dir_t, bdd_t *, int, int, double, double))
EXTERN int bdd_var_decomp ARGS ((bdd_t *, bdd_partition_type_t, bdd_t ***))
EXTERN bdd_t *bdd_solve_eqn ARGS ((bdd_t *f, array_t *g, array_t *unknowns))
EXTERN bdd_t *bdd_shortest_path ARGS ((bdd_t *f, int *weight, int *support, int *length))
EXTERN bdd_t *bdd_compute_cube ARGS ((bdd_manager *mgr, array_t *vars))
EXTERN bdd_t
*bdd_compute_cube_with_phase 
ARGS ((bdd_manager *mgr, array_t *vars, array_t *phase))
EXTERN bdd_node *bdd_add_compose ARGS ((bdd_manager *mgr, bdd_node *fn1, bdd_node *fn2, int var))
EXTERN bdd_node *bdd_add_xnor ARGS ((bdd_manager *mgr, bdd_node **fn1, bdd_node **fn2))
EXTERN bdd_node
*bdd_add_vector_compose 
ARGS ((bdd_manager *mgr, bdd_node *fn, bdd_node **vector))
EXTERN bdd_node *bdd_add_residue ARGS ((bdd_manager *mgr, int n, int m, int options, int top))
EXTERN bdd_node *bdd_add_apply ARGS ((bdd_manager *mgr, bdd_node *(*operation)(bdd_manager *, bdd_node **, bdd_node **), bdd_node *fn1, bdd_node *fn2))
EXTERN bdd_node
*bdd_add_exist_abstract 
ARGS ((bdd_manager *mgr, bdd_node *fn, bdd_node *vars))
EXTERN void bdd_recursive_deref ARGS ((bdd_manager *mgr, bdd_node *f))
EXTERN void bdd_ref ARGS ((bdd_node *fn))
EXTERN bdd_node *bdd_bdd_to_add ARGS ((bdd_manager *mgr, bdd_node *fn))
EXTERN bdd_node *bdd_add_permute ARGS ((bdd_manager *mgr, bdd_node *fn, int *permut))
EXTERN bdd_node
*bdd_bdd_exist_abstract 
ARGS ((bdd_manager *mgr, bdd_node *fn, bdd_node *cube))
EXTERN int bdd_equal_sup_norm ARGS ((bdd_manager *mgr, bdd_node *fn, bdd_node *gn, BDD_VALUE_TYPE tolerance, int pr))
EXTERN bdd_node
*bdd_read_logic_zero 
ARGS ((bdd_manager *mgr))
EXTERN bdd_node *bdd_bdd_constrain ARGS ((bdd_manager *mgr, bdd_node *f, bdd_node *c))
EXTERN bdd_node *bdd_add_hamming ARGS ((bdd_manager *mgr, bdd_node **xVars, bdd_node **yVars, int nVars))
EXTERN bdd_node *bdd_add_ite ARGS ((bdd_manager *mgr, bdd_node *f, bdd_node *g, bdd_node *h))
EXTERN int bdd_bdd_pick_one_cube ARGS ((bdd_manager *mgr, bdd_node *node, char *string))
EXTERN bdd_node
*bdd_add_swap_variables 
ARGS ((bdd_manager *mgr, bdd_node *f, bdd_node **x, bdd_node **y, int n))
EXTERN bdd_node *bdd_bdd_or ARGS ((bdd_manager *mgr, bdd_node *f, bdd_node *g))
EXTERN bdd_node
*bdd_bdd_compute_cube 
ARGS ((bdd_manager *mgr, bdd_node **vars, int *phase, int n))
EXTERN bdd_node
*bdd_indices_to_cube 
ARGS ((bdd_manager *mgr, int *idArray, int n))
EXTERN bdd_node
*bdd_add_matrix_multiply 
ARGS ((bdd_manager *mgr, bdd_node *A, bdd_node *B, bdd_node **z, int nz))
EXTERN bdd_node *bdd_add_const ARGS ((bdd_manager *mgr, BDD_VALUE_TYPE c))
EXTERN double bdd_count_minterm ARGS ((bdd_manager *mgr, bdd_node *f, int n))
EXTERN bdd_node
*bdd_add_bdd_threshold 
ARGS ((bdd_manager *mgr, bdd_node *f, BDD_VALUE_TYPE value))
EXTERN bdd_node
*bdd_bdd_pick_one_minterm 
ARGS ((bdd_manager *mgr, bdd_node *f, bdd_node **vars, int n))
EXTERN bdd_t *bdd_pick_one_minterm ARGS ((bdd_t *f, array_t *varsArray))
EXTERN array_t
*bdd_bdd_pick_arbitrary_minterms 
ARGS ((bdd_t *f, array_t *varsArray, int n, int k))
EXTERN bdd_t
*bdd_subset_with_mask_vars 
ARGS ((bdd_t *f, array_t *varsArray, array_t *maskVarsArray))
EXTERN bdd_node
*bdd_bdd_and_abstract 
ARGS ((bdd_manager *mgr, bdd_node *f, bdd_node *g, bdd_node *cube))
EXTERN int bdd_test_unate ARGS ((bdd_t *f, int varId, int phase))
EXTERN void bdd_deref ARGS ((bdd_node *f))
EXTERN void bdd_set_next_reordering ARGS ((bdd_manager *mgr, int next))
EXTERN bdd_node
*bdd_bdd_vector_compose 
ARGS ((bdd_manager *mgr, bdd_node *f, bdd_node **vector))
EXTERN bdd_node *bdd_zdd_get_node ARGS ((bdd_manager *mgr, int id, bdd_node *g, bdd_node *h))
EXTERN bdd_node *bdd_zdd_isop_recur ARGS ((bdd_manager *mgr, bdd_node *L, bdd_node *U, bdd_node **zdd_I))
EXTERN int bdd_zdd_get_cofactors3 ARGS ((bdd_manager *mgr, bdd_node *f, int v, bdd_node **f1, bdd_node **f0, bdd_node **fd))
EXTERN bdd_node *bdd_unique_inter ARGS ((bdd_manager *mgr, int v, bdd_node *f, bdd_node *g))
EXTERN int bdd_read_zdd_level ARGS ((bdd_manager *mgr, int index))
EXTERN int
bdd_zdd_vars_from_bdd_vars 
ARGS ((bdd_manager *mgr, int multiplicity))
EXTERN void bdd_set_next ARGS ((bdd_node *f, bdd_node *g))
EXTERN bdd_node
*bdd_priority_select 
ARGS ((bdd_manager *mgr, bdd_node *R, bdd_node **x, bdd_node **y, bdd_node **z, bdd_node *Pi, int n, bdd_node *(*Pifunc)(bdd_manager *, int, bdd_node **, bdd_node **, bdd_node **)))
EXTERN bdd_node *bdd_dxygtdxz ARGS ((bdd_manager *mgr, int N, bdd_node **x, bdd_node **y, bdd_node **z))
EXTERN bdd_node
*bdd_bdd_cprojection 
ARGS ((bdd_manager *mgr, bdd_node *R, bdd_node *Y))
EXTERN bdd_node *bdd_xeqy ARGS ((bdd_manager *mgr, int N, bdd_node **x, bdd_node **y))
EXTERN bdd_node *bdd_add_roundoff ARGS ((bdd_manager *mgr, bdd_node *f, int N))
EXTERN bdd_node *bdd_split_set ARGS ((bdd_manager *mgr, bdd_node *f, bdd_node **x, int n, double m))
EXTERN bdd_t *bdd_closest_cube ARGS ((bdd_t *, bdd_t *, int *))
EXTERN boolean bdd_is_tautology ARGS ((bdd_t *, boolean))
EXTERN boolean
bdd_lequal_mod_care_set 
ARGS ((bdd_t *, bdd_t *, boolean, boolean, bdd_t *))
EXTERN boolean
bdd_lequal_mod_care_set_array 
ARGS ((bdd_t *, bdd_t *, boolean, boolean, array_t *))
EXTERN int bdd_epd_count_onset ARGS ((bdd_t *, array_t *, EpDouble *epd))
EXTERN int bdd_print_apa_minterm ARGS ((FILE *, bdd_t *, int, int))
EXTERN int bdd_apa_compare_ratios ARGS ((int, bdd_t *, bdd_t *, int, int))
EXTERN array_t *bdd_get_varids ARGS ((array_t *))
EXTERN void bdd_print_stats ARGS ((bdd_manager *, FILE *))
EXTERN int bdd_set_parameters ARGS ((bdd_manager *, avl_tree *valueTable, FILE *))
EXTERN bdd_blockbdd_new_var_block (bdd_t *f, long length)
EXTERN long bdd_top_var_level ARGS ((bdd_manager *manager, bdd_t *fn))
EXTERN bdd_variableId
bdd_get_id_from_level 
ARGS ((bdd_manager *, long))
EXTERN int bdd_get_level_from_id ARGS ((bdd_manager *mgr, int id))
EXTERN int bdd_estimate_cofactor ARGS ((bdd_t *, bdd_t *, int))
EXTERN void bdd_dynamic_reordering ARGS ((bdd_manager *, bdd_reorder_type_t, bdd_reorder_verbosity_t))
EXTERN int bdd_reordering_status ARGS ((bdd_manager *mgr, bdd_reorder_type_t *method))
EXTERN int bdd_shuffle_heap ARGS ((bdd_manager *mgr, int *permut))
EXTERN int bdd_add_hook ARGS ((bdd_manager *, int(*procedure)(bdd_manager *, char *, void *), bdd_hook_type_t))
EXTERN void bdd_set_reordered_field ARGS ((bdd_manager *mgr, int n))
EXTERN bdd_node
*bdd_bdd_vector_support 
ARGS ((bdd_manager *mgr, bdd_node **F, int n))
EXTERN int bdd_bdd_support_size ARGS ((bdd_manager *mgr, bdd_node *F))
EXTERN bdd_node
*bdd_add_general_vector_compose 
ARGS ((bdd_manager *mgr, bdd_node *f, bdd_node **vectorOn, bdd_node **vectorOff))
EXTERN bdd_node
*bdd_bdd_boolean_diff 
ARGS ((bdd_manager *mgr, bdd_node *f, int x))
EXTERN bdd_gen_status
bdd_gen_read_status 
ARGS ((bdd_gen *gen))
EXTERN bdd_gen *bdd_first_cube ARGS ((bdd_t *, array_t **))
EXTERN boolean bdd_next_cube ARGS ((bdd_gen *, array_t **))
EXTERN bdd_gen *bdd_first_node ARGS ((bdd_t *, bdd_node **))
EXTERN boolean bdd_next_node ARGS ((bdd_gen *, bdd_node **))
EXTERN void bdd_set_gc_mode ARGS ((bdd_manager *, boolean))
EXTERN void bdd_dump_blif ARGS ((bdd_manager *mgr, int nBdds, bdd_node **bdds, char **inames, char **onames, char *model, FILE *fp))
EXTERN void bdd_dump_blif_body ARGS ((bdd_manager *mgr, int nBdds, bdd_node **bdds, char **inames, char **onames, FILE *fp))
EXTERN bdd_node
*bdd_make_bdd_from_zdd_cover 
ARGS ((bdd_manager *mgr, bdd_node *node))
EXTERN int bdd_ptrcmp ARGS ((bdd_t *f, bdd_t *g))
EXTERN int bdd_ptrhash ARGS ((bdd_t *f, int size))
EXTERN int bdd_set_pair_index ARGS ((bdd_manager *mgr, int index, int pairIndex))

Define Documentation

#define foreach_bdd_cube ( fn,
gen,
cube   ) 
Value:
for((gen) = bdd_first_cube(fn, &cube);\
      (bdd_gen_read_status(gen) != bdd_EMPTY) ? TRUE: bdd_gen_free(gen);\
      (void) bdd_next_cube(gen, &cube))

Definition at line 180 of file bdd.h.

#define foreach_bdd_disjoint_cube ( fn,
gen,
cube   ) 
Value:
for((gen) = bdd_first_disjoint_cube(fn, &cube);\
      (bdd_gen_read_status(gen) != bdd_EMPTY) ? TRUE: bdd_gen_free(gen);\
      (void) bdd_next_disjoint_cube(gen, &cube))

Definition at line 195 of file bdd.h.

#define foreach_bdd_node ( fn,
gen,
node   ) 
Value:
for((gen) = bdd_first_node(fn, &node);\
      (bdd_gen_read_status(gen) != bdd_EMPTY) ? TRUE: bdd_gen_free(gen);\
      (void) bdd_next_node(gen, &node))

Definition at line 206 of file bdd.h.


Typedef Documentation

typedef void bdd_block

Definition at line 64 of file bdd.h.

Definition at line 63 of file bdd.h.

typedef void bdd_gen

Definition at line 62 of file bdd.h.

typedef int bdd_literal

Definition at line 59 of file bdd.h.

typedef void bdd_manager

Definition at line 56 of file bdd.h.

typedef void bdd_mgr_init

Definition at line 58 of file bdd.h.

typedef void bdd_node

Definition at line 61 of file bdd.h.

typedef struct bdd_t bdd_t

Definition at line 60 of file bdd.h.

typedef double BDD_VALUE_TYPE

Definition at line 65 of file bdd.h.

typedef unsigned int bdd_variableId

Definition at line 57 of file bdd.h.

typedef int boolean

Definition at line 55 of file bdd.h.


Enumeration Type Documentation

Enumerator:
BDD_OVER_APPROX 
BDD_UNDER_APPROX 

Definition at line 118 of file bdd.h.

00118              {
00119     BDD_OVER_APPROX,
00120     BDD_UNDER_APPROX
00121 } bdd_approx_dir_t;

Enumerator:
BDD_APPROX_HB 
BDD_APPROX_SP 
BDD_APPROX_COMP 
BDD_APPROX_UA 
BDD_APPROX_RUA 
BDD_APPROX_BIASED_RUA 

Definition at line 134 of file bdd.h.

Enumerator:
bdd_EMPTY 
bdd_NONEMPTY 

Definition at line 106 of file bdd.h.

00106              {
00107     bdd_EMPTY,
00108     bdd_NONEMPTY
00109 } bdd_gen_status;

Enumerator:
BDD_PRE_GC_HOOK 
BDD_POST_GC_HOOK 
BDD_PRE_REORDERING_HOOK 
BDD_POST_REORDERING_HOOK 

Definition at line 111 of file bdd.h.

Enumerator:
CMU 
CAL 
CUDD 

Definition at line 100 of file bdd.h.

00100              {
00101   CMU,
00102   CAL,
00103   CUDD
00104 } bdd_package_type_t;

Enumerator:
BDD_CONJUNCTS 
BDD_DISJUNCTS 

Definition at line 123 of file bdd.h.

00123              {
00124     BDD_CONJUNCTS,
00125     BDD_DISJUNCTS
00126 } bdd_partition_type_t;

Enumerator:
BDD_REORDER_SIFT 
BDD_REORDER_WINDOW 
BDD_REORDER_SAME 
BDD_REORDER_RANDOM 
BDD_REORDER_RANDOM_PIVOT 
BDD_REORDER_SIFT_CONVERGE 
BDD_REORDER_SYMM_SIFT 
BDD_REORDER_SYMM_SIFT_CONV 
BDD_REORDER_LINEAR 
BDD_REORDER_LINEAR_CONVERGE 
BDD_REORDER_EXACT 
BDD_REORDER_WINDOW2 
BDD_REORDER_WINDOW3 
BDD_REORDER_WINDOW4 
BDD_REORDER_WINDOW2_CONV 
BDD_REORDER_WINDOW3_CONV 
BDD_REORDER_WINDOW4_CONV 
BDD_REORDER_GROUP_SIFT 
BDD_REORDER_GROUP_SIFT_CONV 
BDD_REORDER_ANNEALING 
BDD_REORDER_GENETIC 
BDD_REORDER_LAZY_SIFT 
BDD_REORDER_NONE 

Definition at line 74 of file bdd.h.

Enumerator:
BDD_REORDER_VERBOSITY_DEFAULT 
BDD_REORDER_NO_VERBOSITY 
BDD_REORDER_VERBOSITY 

Definition at line 128 of file bdd.h.


Function Documentation

EXTERN int bdd_set_pair_index ARGS ( (bdd_manager *mgr, int index, int pairIndex)   ) 
EXTERN int bdd_ptrhash ARGS ( (bdd_t *f, int size  ) 
EXTERN int bdd_ptrcmp ARGS ( (bdd_t *f, bdd_t *g)   ) 
EXTERN bdd_node *bdd_zdd_complement ARGS ( (bdd_manager *mgr, bdd_node *node)   ) 
EXTERN void bdd_dump_dot ARGS ( (bdd_manager *mgr, int nBdds, bdd_node **bdds, char **inames, char **onames, FILE *fp)   ) 
EXTERN void bdd_dump_blif ARGS ( (bdd_manager *mgr, int nBdds, bdd_node **bdds, char **inames, char **onames, char *model, FILE *fp)   ) 
EXTERN void bdd_set_gc_mode ARGS ( (bdd_manager *, boolean  ) 
EXTERN boolean bdd_next_node ARGS ( (bdd_gen *, bdd_node **)   ) 
EXTERN bdd_gen* bdd_first_node ARGS ( (bdd_t *, bdd_node **)   ) 
EXTERN boolean bdd_next_disjoint_cube ARGS ( (bdd_gen *, array_t **)   ) 
EXTERN bdd_gen *bdd_first_disjoint_cube ARGS ( (bdd_t *, array_t **)   ) 
EXTERN bdd_gen_status bdd_gen_read_status ARGS ( (bdd_gen *gen)   ) 
EXTERN bdd_node* bdd_bdd_boolean_diff ARGS ( (bdd_manager *mgr, bdd_node *f, int x)   ) 
EXTERN bdd_node* bdd_add_general_vector_compose ARGS ( (bdd_manager *mgr, bdd_node *f, bdd_node **vectorOn, bdd_node **vectorOff)   ) 
EXTERN bdd_node *bdd_bdd_support ARGS ( (bdd_manager *mgr, bdd_node *F)   ) 
EXTERN int bdd_bdd_vector_support_size ARGS ( (bdd_manager *mgr, bdd_node **F, int n)   ) 
EXTERN void bdd_set_reordered_field ARGS ( (bdd_manager *mgr, int n)   ) 
EXTERN int bdd_remove_hook ARGS ( (bdd_manager *, int(*procedure)(bdd_manager *, char *, void *), bdd_hook_type_t  ) 
EXTERN int bdd_shuffle_heap ARGS ( (bdd_manager *mgr, int *permut)   ) 
EXTERN int bdd_reordering_zdd_status ARGS ( (bdd_manager *mgr, bdd_reorder_type_t *method)   ) 
EXTERN void bdd_dynamic_reordering_zdd ARGS ( (bdd_manager *, bdd_reorder_type_t, bdd_reorder_verbosity_t  ) 
EXTERN int bdd_estimate_cofactor ARGS ( (bdd_t *, bdd_t *, int)   ) 
EXTERN int bdd_get_level_from_id ARGS ( (bdd_manager *mgr, int id)   ) 
EXTERN bdd_variableId bdd_get_id_from_level ARGS ( (bdd_manager *, long)   ) 
EXTERN long bdd_top_var_level ARGS ( (bdd_manager *manager, bdd_t *fn)   ) 
EXTERN int bdd_set_parameters ARGS ( (bdd_manager *, avl_tree *valueTable, FILE *)   ) 
EXTERN void bdd_print_stats ARGS ( (bdd_manager *, FILE *)   ) 
EXTERN array_t* bdd_get_varids ARGS ( (array_t *)   ) 
EXTERN int bdd_apa_compare_ratios ARGS ( (int, bdd_t *, bdd_t *, int, int)   ) 
EXTERN int bdd_print_apa_minterm ARGS ( (FILE *, bdd_t *, int, int)   ) 
EXTERN int bdd_epd_count_onset ARGS ( (bdd_t *, array_t *, EpDouble *epd)   ) 
EXTERN boolean bdd_lequal_mod_care_set_array ARGS ( (bdd_t *, bdd_t *, boolean, boolean, array_t *)   ) 
EXTERN boolean bdd_lequal_mod_care_set ARGS ( (bdd_t *, bdd_t *, boolean, boolean, bdd_t *)   ) 
EXTERN int bdd_is_support_var_id ARGS ( (bdd_t *, boolean  ) 
EXTERN bdd_t* bdd_closest_cube ARGS ( (bdd_t *, bdd_t *, int *)   ) 
EXTERN bdd_node* bdd_split_set ARGS ( (bdd_manager *mgr, bdd_node *f, bdd_node **x, int n, double m)   ) 
EXTERN bdd_node* bdd_add_roundoff ARGS ( (bdd_manager *mgr, bdd_node *f, int N)   ) 
EXTERN bdd_node *bdd_xgty ARGS ( (bdd_manager *mgr, int N, bdd_node **x, bdd_node **y)   ) 
EXTERN bdd_node* bdd_bdd_cprojection ARGS ( (bdd_manager *mgr, bdd_node *R, bdd_node *Y)   ) 
EXTERN bdd_node* bdd_dxygtdxz ARGS ( (bdd_manager *mgr, int N, bdd_node **x, bdd_node **y, bdd_node **z)   ) 
EXTERN bdd_node* bdd_priority_select ARGS ( (bdd_manager *mgr, bdd_node *R, bdd_node **x, bdd_node **y, bdd_node **z, bdd_node *Pi, int n, bdd_node *(*Pifunc)(bdd_manager *, int, bdd_node **, bdd_node **, bdd_node **))   ) 
EXTERN void bdd_set_next ARGS ( (bdd_node *f, bdd_node *g)   ) 
EXTERN int bdd_zdd_vars_from_bdd_vars ARGS ( (bdd_manager *mgr, int multiplicity)   ) 
EXTERN int bdd_unbind_var ARGS ( (bdd_manager *mgr, int index)   ) 
EXTERN bdd_node *bdd_unique_inter_ivo ARGS ( (bdd_manager *mgr, int v, bdd_node *f, bdd_node *g)   ) 
EXTERN int bdd_zdd_get_cofactors3 ARGS ( (bdd_manager *mgr, bdd_node *f, int v, bdd_node **f1, bdd_node **f0, bdd_node **fd)   ) 
EXTERN bdd_node *bdd_zdd_isop ARGS ( (bdd_manager *mgr, bdd_node *L, bdd_node *U, bdd_node **zdd_I)   ) 
EXTERN bdd_node* bdd_zdd_get_node ARGS ( (bdd_manager *mgr, int id, bdd_node *g, bdd_node *h)   ) 
EXTERN bdd_node* bdd_bdd_vector_compose ARGS ( (bdd_manager *mgr, bdd_node *f, bdd_node **vector)   ) 
EXTERN void bdd_set_next_reordering ARGS ( (bdd_manager *mgr, int next)   ) 
EXTERN BDD_VALUE_TYPE bdd_add_value ARGS ( (bdd_node *f)   ) 
EXTERN int bdd_test_unate ARGS ( (bdd_t *f, int varId, int phase)   ) 
EXTERN bdd_node* bdd_bdd_and_abstract ARGS ( (bdd_manager *mgr, bdd_node *f, bdd_node *g, bdd_node *cube)   ) 
EXTERN bdd_t* bdd_subset_with_mask_vars ARGS ( (bdd_t *f, array_t *varsArray, array_t *maskVarsArray)   ) 
EXTERN array_t* bdd_bdd_pick_arbitrary_minterms ARGS ( (bdd_t *f, array_t *varsArray, int n, int k)   ) 
EXTERN bdd_t* bdd_pick_one_minterm ARGS ( (bdd_t *f, array_t *varsArray)   ) 
EXTERN bdd_node* bdd_bdd_pick_one_minterm ARGS ( (bdd_manager *mgr, bdd_node *f, bdd_node **vars, int n)   ) 
EXTERN bdd_node *bdd_add_bdd_strict_threshold ARGS ( (bdd_manager *mgr, bdd_node *f, BDD_VALUE_TYPE value)   ) 
EXTERN double bdd_count_minterm ARGS ( (bdd_manager *mgr, bdd_node *f, int n)   ) 
EXTERN bdd_node* bdd_add_const ARGS ( (bdd_manager *mgr, BDD_VALUE_TYPE c)   ) 
EXTERN bdd_node* bdd_add_matrix_multiply ARGS ( (bdd_manager *mgr, bdd_node *A, bdd_node *B, bdd_node **z, int nz)   ) 
EXTERN bdd_node* bdd_indices_to_cube ARGS ( (bdd_manager *mgr, int *idArray, int n)   ) 
EXTERN bdd_node *bdd_add_compute_cube ARGS ( (bdd_manager *mgr, bdd_node **vars, int *phase, int n)   ) 
EXTERN int bdd_bdd_leq ARGS ( (bdd_manager *mgr, bdd_node *f, bdd_node *g)   ) 
EXTERN bdd_node *bdd_bdd_swap_variables ARGS ( (bdd_manager *mgr, bdd_node *f, bdd_node **x, bdd_node **y, int n)   ) 
EXTERN int bdd_bdd_pick_one_cube ARGS ( (bdd_manager *mgr, bdd_node *node, char *string)   ) 
EXTERN bdd_node *bdd_bdd_ite ARGS ( (bdd_manager *mgr, bdd_node *f, bdd_node *g, bdd_node *h)   ) 
EXTERN bdd_node* bdd_add_hamming ARGS ( (bdd_manager *mgr, bdd_node **xVars, bdd_node **yVars, int nVars)   ) 
EXTERN bdd_node *bdd_bdd_restrict ARGS ( (bdd_manager *mgr, bdd_node *f, bdd_node *c)   ) 
EXTERN void bdd_discard_all_var_groups ARGS ( (bdd_manager *mgr)   ) 
EXTERN int bdd_equal_sup_norm ARGS ( (bdd_manager *mgr, bdd_node *fn, bdd_node *gn, BDD_VALUE_TYPE tolerance, int pr  ) 
EXTERN bdd_node* bdd_bdd_exist_abstract ARGS ( (bdd_manager *mgr, bdd_node *fn, bdd_node *cube)   ) 
EXTERN bdd_node *bdd_bdd_permute ARGS ( (bdd_manager *mgr, bdd_node *fn, int *permut)   ) 
EXTERN bdd_t *bdd_construct_bdd_t ARGS ( (bdd_manager *mgr, bdd_node *fn)   ) 
EXTERN void bdd_ref ARGS ( (bdd_node *fn)   ) 
EXTERN bdd_node *bdd_add_cmpl ARGS ( (bdd_manager *mgr, bdd_node *f)   ) 
EXTERN bdd_node *bdd_bdd_univ_abstract ARGS ( (bdd_manager *mgr, bdd_node *fn, bdd_node *vars  ) 
EXTERN bdd_node *bdd_add_apply_recur ARGS ( (bdd_manager *mgr, bdd_node *(*operation)(bdd_manager *, bdd_node **, bdd_node **), bdd_node *fn1, bdd_node *fn2)   ) 
EXTERN bdd_node* bdd_add_residue ARGS ( (bdd_manager *mgr, int n, int m, int options, int top)   ) 
EXTERN bdd_node *bdd_add_nonsim_compose ARGS ( (bdd_manager *mgr, bdd_node *fn, bdd_node **vector)   ) 
EXTERN bdd_node *bdd_add_minus ARGS ( (bdd_manager *mgr, bdd_node **fn1, bdd_node **fn2)   ) 
EXTERN bdd_node* bdd_add_compose ARGS ( (bdd_manager *mgr, bdd_node *fn1, bdd_node *fn2, int var)   ) 
EXTERN bdd_t* bdd_compute_cube_with_phase ARGS ( (bdd_manager *mgr, array_t *vars, array_t *phase)   ) 
EXTERN bdd_t* bdd_compute_cube ARGS ( (bdd_manager *mgr, array_t *vars  ) 
EXTERN bdd_t* bdd_shortest_path ARGS ( (bdd_t *f, int *weight, int *support, int *length)   ) 
EXTERN bdd_t* bdd_solve_eqn ARGS ( (bdd_t *f, array_t *g, array_t *unknowns)   ) 
EXTERN int bdd_iter_decomp ARGS ( (bdd_t *, bdd_partition_type_t, bdd_t ***)   ) 
EXTERN bdd_t* bdd_approx_biased_rua ARGS ( (bdd_t *, bdd_approx_dir_t, bdd_t *, int, int, double, double)   ) 
EXTERN bdd_t* bdd_approx_remap_ua ARGS ( (bdd_t *, bdd_approx_dir_t, int, int, double)   ) 
EXTERN bdd_t* bdd_approx_ua ARGS ( (bdd_t *, bdd_approx_dir_t, int, int, int, double)   ) 
EXTERN bdd_t* bdd_approx_sp ARGS ( (bdd_t *, bdd_approx_dir_t, int, int, int)   ) 
EXTERN bdd_t *bdd_approx_compress ARGS ( (bdd_t *, bdd_approx_dir_t, int, int)   ) 
EXTERN array_t *bdd_pairwise_xor ARGS ( (bdd_manager *manager, array_t *bddArray1, array_t *bddArray2)   ) 
EXTERN bdd_t *bdd_multiway_xor ARGS ( (bdd_manager *, array_t *)   ) 
EXTERN array_t* bdd_substitute_array_with_permut ARGS ( (array_t *, int *)   ) 
EXTERN array_t* bdd_substitute_array ARGS ( (array_t *, array_t *, array_t *)   ) 
EXTERN bdd_node *bdd_get_node ARGS ( (bdd_t *, int *)   ) 
EXTERN bdd_t* bdd_ite ARGS ( (bdd_t *, bdd_t *, bdd_t *, boolean, boolean, boolean  ) 
EXTERN bdd_t *bdd_substitute ARGS ( (bdd_t *, array_t *, array_t *)   ) 
EXTERN double bdd_count_onset ARGS ( (bdd_t *, array_t *)   ) 
EXTERN int bdd_is_support_var ARGS ( (bdd_t *, bdd_t *)   ) 
EXTERN bdd_t* bdd_clipping_and_smooth ARGS ( (bdd_t *, bdd_t *, array_t *, int, int)   ) 
EXTERN boolean bdd_equal_mod_care_set ARGS ( (bdd_t *, bdd_t *, bdd_t *)   ) 
EXTERN bdd_t* bdd_and_smooth_with_limit ARGS ( (bdd_t *, bdd_t *, array_t *, unsigned int)   ) 
EXTERN boolean bdd_equal_mod_care_set_array ARGS ( (bdd_t *, bdd_t *, array_t *)   ) 
EXTERN boolean bdd_leq_array ARGS ( (bdd_t *, array_t *, boolean, boolean  ) 
EXTERN bdd_t* bdd_and_with_limit ARGS ( (bdd_t *, bdd_t *, boolean, boolean, unsigned int)   ) 
EXTERN boolean bdd_leq ARGS ( (bdd_t *, bdd_t *, boolean, boolean  ) 
EXTERN bdd_variableId bdd_top_var_id ARGS ( (bdd_t *)   ) 
EXTERN bdd_node *bdd_bdd_ith_var ARGS ( (bdd_manager *mgr, int i)   ) 
EXTERN bdd_t* bdd_var_with_index ARGS ( (bdd_manager *manager, int index)   ) 
EXTERN bdd_t *bdd_create_variable_after ARGS ( (bdd_manager *, bdd_variableId  ) 
EXTERN bdd_external_hooks *bdd_get_external_hooks ARGS ( (bdd_manager *)   ) 
EXTERN bdd_manager* bdd_start ARGS ( (int)   ) 
EXTERN unsigned long getSoftDataLimit ARGS ( (void)   ) 

AutomaticStart AutomaticEnd

EXTERN bdd_block* bdd_new_var_block ( bdd_t f,
long  n 
)

Function********************************************************************

Synopsis []

Description [optional]

SideEffects [required]

SeeAlso [optional]

Function********************************************************************

Synopsis [Builds a group of variables that should stay adjacent during reordering.]

Description [Builds a group of variables that should stay adjacent during reordering. The group is made up of n variables. The first variable in the group is f. The other variables are the n-1 variables following f in the order at the time of invocation of this function. Returns a handle to the variable group if successful; NULL otherwise.]

SideEffects [Modifies the variable tree.]

Definition at line 1838 of file calPort.c.

01839 {
01840         return (bdd_block *) Cal_BddNewVarBlock(f->bddManager, f->calBdd, length);
01841 }


Generated on Tue Jan 12 13:57:09 2010 for glu-2.2 by  doxygen 1.6.1