19 int i, j, ipart, jpart, some_equiv;
29 for(i = 0; i < cube.part_size[cube.output]; i++) {
30 ipart = cube.first_part[cube.output] + i;
35 for(i = 0; i < cube.part_size[cube.output]-1; i++) {
36 for(j = i+1; j < cube.part_size[cube.output]; j++) {
37 ipart = cube.first_part[cube.output] + i;
38 jpart = cube.first_part[cube.output] + j;
41 (void) printf(
"# Outputs %d and %d (%s and %s) are equivalent\n",
42 i, j, PLA->label[ipart], PLA->label[jpart]);
45 (void) printf(
"# Outputs %d and NOT %d (%s and %s) are equivalent\n",
46 i, j, PLA->label[ipart], PLA->label[jpart]);
49 (void) printf(
"# Outputs NOT %d and %d (%s and %s) are equivalent\n",
50 i, j, PLA->label[ipart], PLA->label[jpart]);
53 (void) printf(
"# Outputs NOT %d and NOT %d (%s and %s) are equivalent\n",
54 i, j, PLA->label[ipart], PLA->label[jpart]);
61 (void) printf(
"# No outputs are equivalent\n");
64 for(i = 0; i < cube.part_size[cube.output]; i++) {
77 register pcube *f1list, *f2list;
int check_equiv(pcover f1, pcover f2)
pcover complement(pcube *T)
#define foreach_set(R, last, p)
pcover cof_output(pcover T, int i)
#define ABC_NAMESPACE_IMPL_END
ABC_NAMESPACE_IMPL_START void find_equiv_outputs(pPLA PLA)
#define ABC_NAMESPACE_IMPL_START
void makeup_labels(pPLA PLA)
pcube * cube1list(pcover A)