ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
sminterf.c File Reference
#include "espresso.h"
Include dependency graph for sminterf.c:

Go to the source code of this file.

Functions

ABC_NAMESPACE_IMPL_START pset do_sm_minimum_cover (pset_family A)
 

Function Documentation

◆ do_sm_minimum_cover()

ABC_NAMESPACE_IMPL_START pset do_sm_minimum_cover ( pset_family A)

Definition at line 17 of file sminterf.c.

19{
20 sm_matrix *M;
21 sm_row *sparse_cover;
22 sm_element *pe;
23 pset cover;
24 register int i, base, rownum;
25 register unsigned val;
26 register pset last, p;
27
28 M = sm_alloc();
29 rownum = 0;
30 foreach_set(A, last, p) {
31 foreach_set_element(p, i, val, base) {
32 (void) sm_insert(M, rownum, base);
33 }
34 rownum++;
35 }
36
37 sparse_cover = sm_minimum_cover(M, NIL(int), 1, 0);
38 sm_free(M);
39
40 cover = set_new(A->sf_size);
41 sm_foreach_row_element(sparse_cover, pe) {
42 set_insert(cover, pe->col_num);
43 }
44 sm_row_free(sparse_cover);
45
46 return cover;
47}
#define NIL(type)
Definition avl.h:25
#define set_new(size)
Definition espresso.h:164
#define set_insert(set, e)
Definition espresso.h:172
#define foreach_set_element(p, i, val, base)
Definition espresso.h:155
#define foreach_set(R, last, p)
Definition espresso.h:135
unsigned int * pset
Definition espresso.h:73
Cube * p
Definition exorList.c:222
word M(word f1, word f2, int n)
Definition kitPerm.c:240
ABC_NAMESPACE_IMPL_START sm_matrix * sm_alloc()
Definition matrix.c:31
sm_row * sm_minimum_cover()
typedefABC_NAMESPACE_HEADER_START struct sm_element_struct sm_element
Definition sparse.h:21
void sm_row_free()
void sm_free()
#define sm_foreach_row_element(prow, p)
Definition sparse.h:103
struct sm_matrix_struct sm_matrix
Definition sparse.h:24
sm_element * sm_insert()
struct sm_row_struct sm_row
Definition sparse.h:22
int sf_size
Definition espresso.h:78
Here is the call graph for this function: