Go to the source code of this file.
◆ cube_setup()
Definition at line 27 of file cubestr.c.
28{
31
32 if (
cube.num_binary_vars < 0 ||
cube.num_vars <
cube.num_binary_vars)
33 fatal(
"cube size is silly, error in .i/.o or .mv");
34
36 cube.output =
cube.num_mv_vars > 0 ?
cube.num_vars - 1 : -1;
37
44 if (var <
cube.num_binary_vars)
51 }
52
59 for(i =
cube.first_part[var]; i <=
cube.last_part[var]; i++)
61 if (var <
cube.num_binary_vars) {
64 } else {
67 }
68 }
69 if (
cube.num_binary_vars == 0)
71 else {
74 }
75
81
83 cdata.var_zeros =
ALLOC(
int,
cube.num_vars);
84 cdata.parts_active =
ALLOC(
int,
cube.num_vars);
85 cdata.is_unate =
ALLOC(
int,
cube.num_vars);
86}
#define INLINEset_or(r, a, b)
#define set_insert(set, e)
#define WHICH_WORD(element)
◆ restore_cube_struct()
| void restore_cube_struct |
( |
| ) |
|
Definition at line 151 of file cubestr.c.
152{
155}
struct cube_struct cube temp_cube_save
struct cdata_struct cdata temp_cdata_save
◆ save_cube_struct()
| void save_cube_struct |
( |
| ) |
|
Definition at line 134 of file cubestr.c.
135{
138
139 cube.first_part =
cube.last_part = (
int *) NULL;
140 cube.first_word =
cube.last_word = (
int *) NULL;
141 cube.part_size = (
int *) NULL;
145
146 cdata.part_zeros = cdata.var_zeros = cdata.parts_active = (int *) NULL;
147 cdata.is_unate = (bool *) NULL;
148}
◆ setdown_cube()
Definition at line 95 of file cubestr.c.
96{
98
104
112
116
117 FREE(cdata.part_zeros);
118 FREE(cdata.var_zeros);
119 FREE(cdata.parts_active);
120 FREE(cdata.is_unate);
121
122 cube.first_part =
cube.last_part = (
int *) NULL;
123 cube.first_word =
cube.last_word = (
int *) NULL;
124 cube.sparse = (
int *) NULL;
128
129 cdata.part_zeros = cdata.var_zeros = cdata.parts_active = (int *) NULL;
130 cdata.is_unate = (bool *) NULL;
131}