#include "util.h"
#include "array.h"
#include "st.h"
#include "var_set.h"
#include "avl.h"
#include "epd.h"
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_block * | bdd_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 foreach_bdd_cube | ( | fn, | |||
gen, | |||||
cube | ) |
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))
#define foreach_bdd_disjoint_cube | ( | fn, | |||
gen, | |||||
cube | ) |
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))
#define foreach_bdd_node | ( | fn, | |||
gen, | |||||
node | ) |
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))
typedef struct bdd_external_hooks_struct bdd_external_hooks |
typedef int bdd_literal |
typedef void bdd_manager |
typedef void bdd_mgr_init |
typedef double BDD_VALUE_TYPE |
typedef unsigned int bdd_variableId |
enum bdd_approx_dir_t |
Definition at line 118 of file bdd.h.
00118 { 00119 BDD_OVER_APPROX, 00120 BDD_UNDER_APPROX 00121 } bdd_approx_dir_t;
enum bdd_approx_type_t |
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.
00134 { 00135 BDD_APPROX_HB, 00136 BDD_APPROX_SP, 00137 BDD_APPROX_COMP, 00138 BDD_APPROX_UA, 00139 BDD_APPROX_RUA, 00140 BDD_APPROX_BIASED_RUA 00141 } bdd_approx_type_t;
enum bdd_gen_status |
Definition at line 106 of file bdd.h.
00106 { 00107 bdd_EMPTY, 00108 bdd_NONEMPTY 00109 } bdd_gen_status;
enum bdd_hook_type_t |
Definition at line 111 of file bdd.h.
00111 { 00112 BDD_PRE_GC_HOOK, 00113 BDD_POST_GC_HOOK, 00114 BDD_PRE_REORDERING_HOOK, 00115 BDD_POST_REORDERING_HOOK 00116 } bdd_hook_type_t;
enum bdd_package_type_t |
enum bdd_partition_type_t |
Definition at line 123 of file bdd.h.
00123 { 00124 BDD_CONJUNCTS, 00125 BDD_DISJUNCTS 00126 } bdd_partition_type_t;
enum bdd_reorder_type_t |
Definition at line 74 of file bdd.h.
00074 { 00075 BDD_REORDER_SIFT, 00076 BDD_REORDER_WINDOW, 00077 BDD_REORDER_SAME, 00078 BDD_REORDER_RANDOM, 00079 BDD_REORDER_RANDOM_PIVOT, 00080 BDD_REORDER_SIFT_CONVERGE, 00081 BDD_REORDER_SYMM_SIFT, 00082 BDD_REORDER_SYMM_SIFT_CONV, 00083 BDD_REORDER_LINEAR, 00084 BDD_REORDER_LINEAR_CONVERGE, 00085 BDD_REORDER_EXACT, 00086 BDD_REORDER_WINDOW2, 00087 BDD_REORDER_WINDOW3, 00088 BDD_REORDER_WINDOW4, 00089 BDD_REORDER_WINDOW2_CONV, 00090 BDD_REORDER_WINDOW3_CONV, 00091 BDD_REORDER_WINDOW4_CONV, 00092 BDD_REORDER_GROUP_SIFT, 00093 BDD_REORDER_GROUP_SIFT_CONV, 00094 BDD_REORDER_ANNEALING, 00095 BDD_REORDER_GENETIC, 00096 BDD_REORDER_LAZY_SIFT, 00097 BDD_REORDER_NONE 00098 } bdd_reorder_type_t;
Definition at line 128 of file bdd.h.
00128 { 00129 BDD_REORDER_VERBOSITY_DEFAULT, 00130 BDD_REORDER_NO_VERBOSITY, 00131 BDD_REORDER_VERBOSITY 00132 }bdd_reorder_verbosity_t;
EXTERN int bdd_set_pair_index ARGS | ( | (bdd_manager *mgr, int index, int pairIndex) | ) |
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 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_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 int bdd_print_apa_minterm ARGS | ( | (FILE *, bdd_t *, int, int) | ) |
EXTERN boolean bdd_lequal_mod_care_set_array ARGS | ( | (bdd_t *, bdd_t *, boolean, boolean, array_t *) | ) |
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 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_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 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 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
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 }